|
@@ -1,252 +0,0 @@
|
|
|
-From d86210973df93ccca0befd56afba2132da925ebc Mon Sep 17 00:00:00 2001
|
|
|
-From: Chris Liddell <chris.liddell@artifex.com>
|
|
|
-Date: Thu, 18 Apr 2019 16:58:41 +0100
|
|
|
-Subject: [PATCH] Bug 700986: Remove the crazy md5 file copying nonsense
|
|
|
-
|
|
|
-To preserve building as a standalone test exe, we avoided using Ghostscript
|
|
|
-includes in the md5 source and header files, but dynamically add them to
|
|
|
-copies of the files during the build. Since we no longer need/care for the
|
|
|
-stand alone exe, remove the build complication, and just include the header
|
|
|
-file normally.
|
|
|
-
|
|
|
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
-[Retrieved from:
|
|
|
-http://git.ghostscript.com/?p=user/chrisl/ghostpdl.git;a=commitdiff;h=d86210973df9]
|
|
|
----
|
|
|
- base/gsmd5.h | 2 +
|
|
|
- base/lib.mak | 10 +--
|
|
|
- base/md5main.c | 141 -----------------------------------------
|
|
|
- doc/Develop.htm | 1 -
|
|
|
- windows/ghostscript.vcproj | 4 --
|
|
|
- windows/ghostscript_rt.vcxproj | 1 -
|
|
|
- 6 files changed, 5 insertions(+), 154 deletions(-)
|
|
|
- delete mode 100644 base/md5main.c
|
|
|
-
|
|
|
-diff --git a/base/gsmd5.h b/base/gsmd5.h
|
|
|
-index 206ea6b..b159afb 100644
|
|
|
---- a/base/gsmd5.h
|
|
|
-+++ b/base/gsmd5.h
|
|
|
-@@ -50,6 +50,8 @@
|
|
|
- #ifndef md5_INCLUDED
|
|
|
- # define md5_INCLUDED
|
|
|
-
|
|
|
-+#include "memory_.h"
|
|
|
-+
|
|
|
- /*
|
|
|
- * This package supports both compile-time and run-time determination of CPU
|
|
|
- * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be
|
|
|
-diff --git a/base/lib.mak b/base/lib.mak
|
|
|
-index 3ed088a..21e2cb7 100644
|
|
|
---- a/base/lib.mak
|
|
|
-+++ b/base/lib.mak
|
|
|
-@@ -387,13 +387,8 @@ gsmd5_h=$(GLSRC)gsmd5.h
|
|
|
- # We have to use a slightly different compilation approach in order to
|
|
|
- # get std.h included when compiling md5.c.
|
|
|
- md5_=$(GLOBJ)gsmd5.$(OBJ)
|
|
|
--$(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h)\
|
|
|
-- $(EXP)$(ECHOGS_XE) $(LIB_MAK) $(MAKEDIRS)
|
|
|
-- $(EXP)$(ECHOGS_XE) -w $(GLGEN)gsmd5.h -x 23 include -x 2022 memory_.h -x 22
|
|
|
-- $(EXP)$(ECHOGS_XE) -a $(GLGEN)gsmd5.h -+R $(GLSRC)gsmd5.h
|
|
|
-- $(CP_) $(GLSRC)gsmd5.c $(GLGEN)gsmd5.c
|
|
|
-- $(GLCC) $(GLO_)gsmd5.$(OBJ) $(C_) $(GLGEN)gsmd5.c
|
|
|
-- $(RM_) $(GLGEN)gsmd5.c $(GLGEN)gsmd5.h
|
|
|
-+$(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h) $(LIB_MAK) $(MAKEDIRS)
|
|
|
-+ $(GLCC) $(GLO_)gsmd5.$(OBJ) $(C_) $(GLSRC)gsmd5.c
|
|
|
-
|
|
|
- # SHA-256 digest
|
|
|
- sha2_h=$(GLSRC)sha2.h
|
|
|
-@@ -12346,3 +12341,4 @@ $(GLSRC)gxshade4.h:$(GLSRC)gstypes.h
|
|
|
- $(GLSRC)gxshade4.h:$(GLSRC)stdpre.h
|
|
|
- $(GLSRC)gxshade4.h:$(GLGEN)arch.h
|
|
|
- $(GLSRC)gxshade4.h:$(GLSRC)gs_dll_call.h
|
|
|
-+$(GLSRC)gsmd5.h:$(GLSRC)memory_.h
|
|
|
-diff --git a/base/md5main.c b/base/md5main.c
|
|
|
-deleted file mode 100644
|
|
|
-index 75c523b..0000000
|
|
|
---- a/base/md5main.c
|
|
|
-+++ /dev/null
|
|
|
-@@ -1,141 +0,0 @@
|
|
|
--/*
|
|
|
-- Copyright (C) 2002-2018 Artifex Software, Inc.
|
|
|
-- All rights reserved.
|
|
|
--
|
|
|
-- This software is provided 'as-is', without any express or implied
|
|
|
-- warranty. In no event will the authors be held liable for any damages
|
|
|
-- arising from the use of this software.
|
|
|
--
|
|
|
-- Permission is granted to anyone to use this software for any purpose,
|
|
|
-- including commercial applications, and to alter it and redistribute it
|
|
|
-- freely, subject to the following restrictions:
|
|
|
--
|
|
|
-- 1. The origin of this software must not be misrepresented; you must not
|
|
|
-- claim that you wrote the original software. If you use this software
|
|
|
-- in a product, an acknowledgment in the product documentation would be
|
|
|
-- appreciated but is not required.
|
|
|
-- 2. Altered source versions must be plainly marked as such, and must not be
|
|
|
-- misrepresented as being the original software.
|
|
|
-- 3. This notice may not be removed or altered from any source distribution.
|
|
|
--
|
|
|
-- L. Peter Deutsch
|
|
|
-- ghost@aladdin.com
|
|
|
--
|
|
|
-- */
|
|
|
--/*
|
|
|
-- Independent implementation of MD5 (RFC 1321).
|
|
|
--
|
|
|
-- This code implements the MD5 Algorithm defined in RFC 1321, whose
|
|
|
-- text is available at
|
|
|
-- http://www.ietf.org/rfc/rfc1321.txt
|
|
|
-- The code is derived from the text of the RFC, including the test suite
|
|
|
-- (section A.5) but excluding the rest of Appendix A. It does not include
|
|
|
-- any code or documentation that is identified in the RFC as being
|
|
|
-- copyrighted.
|
|
|
--
|
|
|
-- The original and principal author of md5.c is L. Peter Deutsch
|
|
|
-- <ghost@aladdin.com>. Other authors are noted in the change history
|
|
|
-- that follows (in reverse chronological order):
|
|
|
--
|
|
|
-- 2007-06-08 RG Namespaced the api calls to avoid conflict with other
|
|
|
-- implementations when linking gs as a library.
|
|
|
-- 2002-04-13 lpd Splits off main program into a separate file, md5main.c.
|
|
|
-- */
|
|
|
--
|
|
|
--#include "gsmd5.h"
|
|
|
--#include <math.h>
|
|
|
--#include <stdio.h>
|
|
|
--#include <string.h>
|
|
|
--
|
|
|
--/*
|
|
|
-- * This file builds an executable that performs various functions related
|
|
|
-- * to the MD5 library. Typical compilation:
|
|
|
-- * gcc -o md5main -lm md5main.c md5.c
|
|
|
-- */
|
|
|
--static const char *const usage = "\
|
|
|
--Usage:\n\
|
|
|
-- md5main --test # run the self-test (A.5 of RFC 1321)\n\
|
|
|
-- md5main --t-values # print the T values for the library\n\
|
|
|
-- md5main --version # print the version of the package\n\
|
|
|
--";
|
|
|
--static const char *const version = "2002-04-13";
|
|
|
--
|
|
|
--/* Run the self-test. */
|
|
|
--static int
|
|
|
--do_test(void)
|
|
|
--{
|
|
|
-- static const char *const test[7*2] = {
|
|
|
-- "", "d41d8cd98f00b204e9800998ecf8427e",
|
|
|
-- "a", "0cc175b9c0f1b6a831c399e269772661",
|
|
|
-- "abc", "900150983cd24fb0d6963f7d28e17f72",
|
|
|
-- "message digest", "f96b697d7cb7938d525a2f31aaf161d0",
|
|
|
-- "abcdefghijklmnopqrstuvwxyz", "c3fcd3d76192e4007dfb496cca67e13b",
|
|
|
-- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
|
|
|
-- "d174ab98d277d9f5a5611c2c9f419d9f",
|
|
|
-- "12345678901234567890123456789012345678901234567890123456789012345678901234567890", "57edf4a22be3c955ac49da2e2107b67a"
|
|
|
-- };
|
|
|
-- int i;
|
|
|
-- int status = 0;
|
|
|
--
|
|
|
-- for (i = 0; i < 7*2; i += 2) {
|
|
|
-- gs_md5_state_t state;
|
|
|
-- gs_md5_byte_t digest[16];
|
|
|
-- char hex_output[16*2 + 1];
|
|
|
-- int di;
|
|
|
--
|
|
|
-- gs_md5_init(&state);
|
|
|
-- gs_md5_append(&state, (const gs_md5_byte_t *)test[i], strlen(test[i]));
|
|
|
-- gs_md5_finish(&state, digest);
|
|
|
-- for (di = 0; di < 16; ++di)
|
|
|
-- gs_sprintf(hex_output + di * 2, "%02x", digest[di]);
|
|
|
-- if (strcmp(hex_output, test[i + 1])) {
|
|
|
-- printf("MD5 (\"%s\") = ", test[i]);
|
|
|
-- puts(hex_output);
|
|
|
-- printf("**** ERROR, should be: %s\n", test[i + 1]);
|
|
|
-- status = 1;
|
|
|
-- }
|
|
|
-- }
|
|
|
-- if (status == 0)
|
|
|
-- puts("md5 self-test completed successfully.");
|
|
|
-- return status;
|
|
|
--}
|
|
|
--
|
|
|
--/* Print the T values. */
|
|
|
--static int
|
|
|
--do_t_values(void)
|
|
|
--{
|
|
|
-- int i;
|
|
|
-- for (i = 1; i <= 64; ++i) {
|
|
|
-- unsigned long v = (unsigned long)(4294967296.0 * fabs(sin((double)i)));
|
|
|
--
|
|
|
-- /*
|
|
|
-- * The following nonsense is only to avoid compiler warnings about
|
|
|
-- * "integer constant is unsigned in ANSI C, signed with -traditional".
|
|
|
-- */
|
|
|
-- if (v >> 31) {
|
|
|
-- printf("#define T%d /* 0x%08lx */ (T_MASK ^ 0x%08lx)\n", i,
|
|
|
-- v, (unsigned long)(unsigned int)(~v));
|
|
|
-- } else {
|
|
|
-- printf("#define T%d 0x%08lx\n", i, v);
|
|
|
-- }
|
|
|
-- }
|
|
|
-- return 0;
|
|
|
--}
|
|
|
--
|
|
|
--/* Main program */
|
|
|
--int
|
|
|
--main(int argc, char *argv[])
|
|
|
--{
|
|
|
-- if (argc == 2) {
|
|
|
-- if (!strcmp(argv[1], "--test"))
|
|
|
-- return do_test();
|
|
|
-- if (!strcmp(argv[1], "--t-values"))
|
|
|
-- return do_t_values();
|
|
|
-- if (!strcmp(argv[1], "--version")) {
|
|
|
-- puts(version);
|
|
|
-- return 0;
|
|
|
-- }
|
|
|
-- }
|
|
|
-- puts(usage);
|
|
|
-- return 0;
|
|
|
--}
|
|
|
-diff --git a/doc/Develop.htm b/doc/Develop.htm
|
|
|
-index c1ffceb..1ed3030 100644
|
|
|
---- a/doc/Develop.htm
|
|
|
-+++ b/doc/Develop.htm
|
|
|
-@@ -684,7 +684,6 @@ Other:
|
|
|
- <a href="../base/gx.h">base/gx.h</a>,
|
|
|
- <a href="../base/gsmd5.c">base/gsmd5.c</a>,
|
|
|
- <a href="../base/gsmd5.h">base/gsmd5.h</a>,
|
|
|
--<a href="../base/md5main.c">base/md5main.c</a>,
|
|
|
- <a href="../base/aes.c">base/aes.c</a>,
|
|
|
- <a href="../base/aes.h">base/aes.h</a>.
|
|
|
-
|
|
|
-diff --git a/windows/ghostscript.vcproj b/windows/ghostscript.vcproj
|
|
|
-index d607949..fdbeaa1 100644
|
|
|
---- a/windows/ghostscript.vcproj
|
|
|
-+++ b/windows/ghostscript.vcproj
|
|
|
-@@ -2510,10 +2510,6 @@
|
|
|
- >
|
|
|
- </File>
|
|
|
- <File
|
|
|
-- RelativePath="..\base\md5main.c"
|
|
|
-- >
|
|
|
-- </File>
|
|
|
-- <File
|
|
|
- RelativePath="..\base\memento.c"
|
|
|
- >
|
|
|
- </File>
|
|
|
-diff --git a/windows/ghostscript_rt.vcxproj b/windows/ghostscript_rt.vcxproj
|
|
|
-index 589b2d1..fca736b 100644
|
|
|
---- a/windows/ghostscript_rt.vcxproj
|
|
|
-+++ b/windows/ghostscript_rt.vcxproj
|
|
|
-@@ -597,7 +597,6 @@
|
|
|
- <ClCompile Include="..\base\gxtype1.c" />
|
|
|
- <ClCompile Include="..\base\gzspotan.c" />
|
|
|
- <ClCompile Include="..\base\gsmd5.c" />
|
|
|
-- <ClCompile Include="..\base\md5main.c" />
|
|
|
- <ClCompile Include="..\base\memento.c" />
|
|
|
- <ClCompile Include="..\base\minftrsz.c" />
|
|
|
- <ClCompile Include="..\base\mkromfs.c" />
|
|
|
---
|
|
|
-2.9.1
|
|
|
-
|
|
|
-
|