mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-29 08:15:18 -04:00
downloadertools: remove check_adler, check_md5, check_crc
Tools to check hashes are readily available from thirdparty sources; there is no good reason why a 3D engine should provide them.
This commit is contained in:
parent
13e91135e5
commit
2e198fd2ef
@ -4603,23 +4603,7 @@ if PkgSkip("OPENAL") == 0 and not RUNTIME:
|
|||||||
#
|
#
|
||||||
|
|
||||||
if (PkgSkip("OPENSSL")==0 and not RTDIST and not RUNTIME and PkgSkip("DEPLOYTOOLS")==0):
|
if (PkgSkip("OPENSSL")==0 and not RTDIST and not RUNTIME and PkgSkip("DEPLOYTOOLS")==0):
|
||||||
OPTS=['DIR:panda/src/downloadertools', 'OPENSSL', 'ZLIB', 'ADVAPI', 'WINSOCK2', 'WINSHELL', 'WINGDI', 'WINUSER']
|
OPTS=['DIR:panda/src/downloadertools', 'OPENSSL', 'ADVAPI', 'WINSOCK2', 'WINSHELL', 'WINGDI', 'WINUSER']
|
||||||
|
|
||||||
if not PkgSkip("ZLIB"):
|
|
||||||
TargetAdd('check_adler_check_adler.obj', opts=OPTS, input='check_adler.cxx')
|
|
||||||
TargetAdd('check_adler.exe', input=['check_adler_check_adler.obj'])
|
|
||||||
TargetAdd('check_adler.exe', input=COMMON_PANDA_LIBS)
|
|
||||||
TargetAdd('check_adler.exe', opts=OPTS)
|
|
||||||
|
|
||||||
TargetAdd('check_crc_check_crc.obj', opts=OPTS, input='check_crc.cxx')
|
|
||||||
TargetAdd('check_crc.exe', input=['check_crc_check_crc.obj'])
|
|
||||||
TargetAdd('check_crc.exe', input=COMMON_PANDA_LIBS)
|
|
||||||
TargetAdd('check_crc.exe', opts=OPTS)
|
|
||||||
|
|
||||||
TargetAdd('check_md5_check_md5.obj', opts=OPTS, input='check_md5.cxx')
|
|
||||||
TargetAdd('check_md5.exe', input=['check_md5_check_md5.obj'])
|
|
||||||
TargetAdd('check_md5.exe', input=COMMON_PANDA_LIBS)
|
|
||||||
TargetAdd('check_md5.exe', opts=OPTS)
|
|
||||||
|
|
||||||
TargetAdd('pdecrypt_pdecrypt.obj', opts=OPTS, input='pdecrypt.cxx')
|
TargetAdd('pdecrypt_pdecrypt.obj', opts=OPTS, input='pdecrypt.cxx')
|
||||||
TargetAdd('pdecrypt.exe', input=['pdecrypt_pdecrypt.obj'])
|
TargetAdd('pdecrypt.exe', input=['pdecrypt_pdecrypt.obj'])
|
||||||
|
@ -2080,12 +2080,9 @@
|
|||||||
</Filter>
|
</Filter>
|
||||||
<Filter Name="downloadertools">
|
<Filter Name="downloadertools">
|
||||||
<File RelativePath="..\panda\src\downloadertools\pencrypt.cxx"></File>
|
<File RelativePath="..\panda\src\downloadertools\pencrypt.cxx"></File>
|
||||||
<File RelativePath="..\panda\src\downloadertools\check_adler.cxx"></File>
|
|
||||||
<File RelativePath="..\panda\src\downloadertools\pdecrypt.cxx"></File>
|
<File RelativePath="..\panda\src\downloadertools\pdecrypt.cxx"></File>
|
||||||
<File RelativePath="..\panda\src\downloadertools\pzip.cxx"></File>
|
<File RelativePath="..\panda\src\downloadertools\pzip.cxx"></File>
|
||||||
<File RelativePath="..\panda\src\downloadertools\multify.cxx"></File>
|
<File RelativePath="..\panda\src\downloadertools\multify.cxx"></File>
|
||||||
<File RelativePath="..\panda\src\downloadertools\check_md5.cxx"></File>
|
|
||||||
<File RelativePath="..\panda\src\downloadertools\check_crc.cxx"></File>
|
|
||||||
<File RelativePath="..\panda\src\downloadertools\punzip.cxx"></File>
|
<File RelativePath="..\panda\src\downloadertools\punzip.cxx"></File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Name="gles2gsg">
|
<Filter Name="gles2gsg">
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
/**
|
|
||||||
* PANDA 3D SOFTWARE
|
|
||||||
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
||||||
*
|
|
||||||
* All use of this software is subject to the terms of the revised BSD
|
|
||||||
* license. You should have received a copy of this license along
|
|
||||||
* with this source code in a file named "LICENSE."
|
|
||||||
*
|
|
||||||
* @file check_adler.cxx
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "download_utils.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char *argv[]) {
|
|
||||||
if (argc < 2) {
|
|
||||||
std::cerr << "Usage: check_adler <file>" << std::endl;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Filename source_file = argv[1];
|
|
||||||
|
|
||||||
std::cout << check_adler(source_file);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
/**
|
|
||||||
* PANDA 3D SOFTWARE
|
|
||||||
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
||||||
*
|
|
||||||
* All use of this software is subject to the terms of the revised BSD
|
|
||||||
* license. You should have received a copy of this license along
|
|
||||||
* with this source code in a file named "LICENSE."
|
|
||||||
*
|
|
||||||
* @file check_crc.cxx
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "download_utils.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char *argv[]) {
|
|
||||||
if (argc < 2) {
|
|
||||||
std::cerr << "Usage: check_crc <file>" << std::endl;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Filename source_file = argv[1];
|
|
||||||
|
|
||||||
std::cout << check_crc(source_file);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,155 +0,0 @@
|
|||||||
/**
|
|
||||||
* PANDA 3D SOFTWARE
|
|
||||||
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
|
||||||
*
|
|
||||||
* All use of this software is subject to the terms of the revised BSD
|
|
||||||
* license. You should have received a copy of this license along
|
|
||||||
* with this source code in a file named "LICENSE."
|
|
||||||
*
|
|
||||||
* @file check_md5.cxx
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "pandabase.h"
|
|
||||||
#include "hashVal.h"
|
|
||||||
#include "filename.h"
|
|
||||||
#include "panda_getopt.h"
|
|
||||||
#include "preprocess_argv.h"
|
|
||||||
|
|
||||||
using std::cerr;
|
|
||||||
using std::cout;
|
|
||||||
|
|
||||||
bool output_decimal = false;
|
|
||||||
bool suppress_filename = false;
|
|
||||||
pofstream binary_output;
|
|
||||||
|
|
||||||
void
|
|
||||||
usage() {
|
|
||||||
cerr <<
|
|
||||||
"\n"
|
|
||||||
"Usage:\n\n"
|
|
||||||
"check_md5 [-q] [-d] [-b filename] [-i \"input string\"] [file1 file2 ...]\n"
|
|
||||||
"check_md5 -h\n\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
help() {
|
|
||||||
usage();
|
|
||||||
cerr <<
|
|
||||||
"This program outputs the MD5 hash of one or more files (or of a string\n"
|
|
||||||
"passed on the command line with -i).\n\n"
|
|
||||||
|
|
||||||
"An MD5 hash is a 128-bit value. The output is presented as a 32-digit\n"
|
|
||||||
"hexadecimal string by default, but with -d, it is presented as four\n"
|
|
||||||
"big-endian unsigned 32-bit decimal integers. Normally the filename\n"
|
|
||||||
"of each file is printed along with the hash; -q suppresses this.\n\n"
|
|
||||||
|
|
||||||
"To write the 16 bytes (per input file) of the output directly to a\n"
|
|
||||||
"binary file, use -b with the name of the file to receive the output.\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
output_hash(const std::string &filename, const HashVal &hash) {
|
|
||||||
if (!suppress_filename && !filename.empty()) {
|
|
||||||
cout << filename << " ";
|
|
||||||
}
|
|
||||||
if (output_decimal) {
|
|
||||||
hash.output_dec(cout);
|
|
||||||
} else {
|
|
||||||
hash.output_hex(cout);
|
|
||||||
}
|
|
||||||
cout << "\n";
|
|
||||||
|
|
||||||
// Also output to the binary_output file if it is open. No sweat if it's
|
|
||||||
// not.
|
|
||||||
hash.output_binary(binary_output);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
|
||||||
main(int argc, char **argv) {
|
|
||||||
extern char *optarg;
|
|
||||||
extern int optind;
|
|
||||||
const char *optstr = "i:db:qh";
|
|
||||||
|
|
||||||
bool got_input_string = false;
|
|
||||||
std::string input_string;
|
|
||||||
Filename binary_output_filename;
|
|
||||||
|
|
||||||
preprocess_argv(argc, argv);
|
|
||||||
int flag = getopt(argc, argv, optstr);
|
|
||||||
|
|
||||||
while (flag != EOF) {
|
|
||||||
switch (flag) {
|
|
||||||
case 'i':
|
|
||||||
got_input_string = true;
|
|
||||||
input_string = optarg;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'd':
|
|
||||||
output_decimal = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'b':
|
|
||||||
binary_output_filename = Filename::binary_filename(std::string(optarg));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'q':
|
|
||||||
suppress_filename = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'h':
|
|
||||||
help();
|
|
||||||
exit(1);
|
|
||||||
|
|
||||||
default:
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
flag = getopt(argc, argv, optstr);
|
|
||||||
}
|
|
||||||
|
|
||||||
argc -= (optind-1);
|
|
||||||
argv += (optind-1);
|
|
||||||
|
|
||||||
if (argc < 2 && !got_input_string) {
|
|
||||||
usage();
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!binary_output_filename.empty()) {
|
|
||||||
if (!binary_output_filename.open_write(binary_output)) {
|
|
||||||
cerr << "Unable to open " << binary_output_filename << ".\n";
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (got_input_string) {
|
|
||||||
HashVal hash;
|
|
||||||
hash.hash_string(input_string);
|
|
||||||
output_hash("", hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool okflag = true;
|
|
||||||
|
|
||||||
for (int i = 1; i < argc; i++) {
|
|
||||||
Filename source_file = Filename::from_os_specific(argv[i]);
|
|
||||||
|
|
||||||
if (!source_file.exists()) {
|
|
||||||
cerr << source_file << " not found!\n";
|
|
||||||
okflag = false;
|
|
||||||
} else {
|
|
||||||
HashVal hash;
|
|
||||||
if (!hash.hash_file(source_file)) {
|
|
||||||
cerr << "Unable to read " << source_file << "\n";
|
|
||||||
okflag = false;
|
|
||||||
} else {
|
|
||||||
output_hash(source_file.get_basename(), hash);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!okflag) {
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user