summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2013-02-15 22:23:09 +0100
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2013-02-15 22:43:09 +0100
commit507f51b093a1dfcd2866785cd700d5c390ee28f6 (patch)
tree322e306fda111e2a8a1f8ce6a166bde1a3bbcdc6 /tools
parentb2ded51418a272c300f10370032933c9671446b2 (diff)
so_checksum is dead and gone ... and there was much rejoicing
Change-Id: I6cba24830d397ca405646a1deb0ee0385a3b67e4
Diffstat (limited to 'tools')
-rw-r--r--tools/Executable_so_checksum.mk40
-rw-r--r--tools/Module_tools.mk1
-rw-r--r--tools/bootstrp/md5.cxx141
-rw-r--r--tools/bootstrp/md5.hxx25
-rw-r--r--tools/bootstrp/so_checksum.cxx47
5 files changed, 0 insertions, 254 deletions
diff --git a/tools/Executable_so_checksum.mk b/tools/Executable_so_checksum.mk
deleted file mode 100644
index fcd72c2ddded..000000000000
--- a/tools/Executable_so_checksum.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# This file incorporates work covered by the following license notice:
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed
-# with this work for additional information regarding copyright
-# ownership. The ASF licenses this file to you under the Apache
-# License, Version 2.0 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.apache.org/licenses/LICENSE-2.0 .
-#
-
-$(eval $(call gb_Executable_Executable,so_checksum))
-
-$(eval $(call gb_Executable_set_include,so_checksum,\
- $$(INCLUDE) \
- -I$(SRCDIR)/tools/inc \
- -I$(SRCDIR)/tools/bootstrp \
-))
-
-$(eval $(call gb_Executable_use_libraries,so_checksum,\
- sal \
- tl \
- $(gb_UWINAPI) \
-))
-# used to link against basegfxlx comphelp4gcc3 i18nisolang1gcc3 ucbhelper4gcc3 uno_cppu uno_cppuhelpergcc3 uno_salhelpergcc3 vos3gcc3 - seems to be superficial
-
-$(eval $(call gb_Executable_add_exception_objects,so_checksum,\
- tools/bootstrp/md5 \
- tools/bootstrp/so_checksum \
-))
-
-# vim: set noet sw=4 ts=4:
diff --git a/tools/Module_tools.mk b/tools/Module_tools.mk
index 2ec37e0d8258..b6fe5f61ecfa 100644
--- a/tools/Module_tools.mk
+++ b/tools/Module_tools.mk
@@ -35,7 +35,6 @@ ifneq ($(CROSS_COMPILING),YES)
$(eval $(call gb_Module_add_targets,tools,\
Executable_bestreversemap \
Executable_rscdep \
- Executable_so_checksum \
))
endif
diff --git a/tools/bootstrp/md5.cxx b/tools/bootstrp/md5.cxx
deleted file mode 100644
index bf2b72aaf7ee..000000000000
--- a/tools/bootstrp/md5.cxx
+++ /dev/null
@@ -1,141 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include "md5.hxx"
-
-#include <cstddef>
-#include <stdio.h>
-
-#include <rtl/strbuf.hxx>
-
-#ifdef WNT
-#define FILE_OPEN_READ "rb"
-#else
-#define FILE_OPEN_READ "r"
-#endif
-
-// Extended calc_md5_checksum to recognize Windows executables and libraries. To
-// create the same md5 checksum for a (code/data) identical file it ignores a different
-// date and header checksum. Please see crashrep/source/win32/soreport.cpp
-// where the same method is also used. The crash reporter uses the MD5
-// checksums to transfer them to the crash database. You have to make sure that both
-// methods use the same algorithm otherwise there could be problems with stack reports.
-
-void normalize_pe_image(sal_uInt8* buffer, size_t nBufferSize)
-{
- // Check the header part of the file buffer
- if (buffer[0] == sal_uInt8('M') && buffer[1] == sal_uInt8('Z'))
- {
- const int OFFSET_PE_OFFSET = 0x3c;
- unsigned long PEHeaderOffset = (long)buffer[OFFSET_PE_OFFSET];
- if (PEHeaderOffset < nBufferSize-4)
- {
- if ( buffer[PEHeaderOffset+0] == sal_uInt8('P') &&
- buffer[PEHeaderOffset+1] == sal_uInt8('E') &&
- buffer[PEHeaderOffset+2] == 0 &&
- buffer[PEHeaderOffset+3] == 0 )
- {
- const int PE_SIGNATURE_SIZE = 4;
- const int OFFSET_COFF_TIMEDATESTAMP = 4;
- PEHeaderOffset += PE_SIGNATURE_SIZE;
- if (PEHeaderOffset+OFFSET_COFF_TIMEDATESTAMP < nBufferSize-4)
- {
- // Set timedatestamp and checksum fields to a normalized
- // value to enforce the same MD5 checksum for identical
- // Windows executables/libraries.
- buffer[PEHeaderOffset+OFFSET_COFF_TIMEDATESTAMP+0] = 0;
- buffer[PEHeaderOffset+OFFSET_COFF_TIMEDATESTAMP+1] = 0;
- buffer[PEHeaderOffset+OFFSET_COFF_TIMEDATESTAMP+2] = 0;
- buffer[PEHeaderOffset+OFFSET_COFF_TIMEDATESTAMP+3] = 0;
- }
- const int COFFHEADER_SIZE = 20;
- const int OFFSET_PE_OPTIONALHEADER_CHECKSUM = 64;
- if (PEHeaderOffset+COFFHEADER_SIZE+OFFSET_PE_OPTIONALHEADER_CHECKSUM < nBufferSize-4)
- {
- // Set checksum to a normalized value
- buffer[PEHeaderOffset+COFFHEADER_SIZE+OFFSET_PE_OPTIONALHEADER_CHECKSUM] = 0;
- buffer[PEHeaderOffset+COFFHEADER_SIZE+OFFSET_PE_OPTIONALHEADER_CHECKSUM+1] = 0;
- buffer[PEHeaderOffset+COFFHEADER_SIZE+OFFSET_PE_OPTIONALHEADER_CHECKSUM+2] = 0;
- buffer[PEHeaderOffset+COFFHEADER_SIZE+OFFSET_PE_OPTIONALHEADER_CHECKSUM+3] = 0;
- }
- }
- }
- }
-}
-
-rtlDigestError calc_md5_checksum(const char *filename, rtl::OString &rChecksum)
-{
- sal_uInt8 checksum[RTL_DIGEST_LENGTH_MD5];
- rtlDigestError error = rtl_Digest_E_None;
- rtl::OStringBuffer aChecksumBuf;
-
- FILE *fp = fopen( filename, FILE_OPEN_READ );
-
- if ( fp )
- {
- rtlDigest digest = rtl_digest_createMD5();
-
- if ( digest )
- {
- const size_t BUFFER_SIZE = 0x1000;
- size_t nBytesRead;
- sal_uInt8 buffer[BUFFER_SIZE];
- bool bHeader(true);
-
- while ( rtl_Digest_E_None == error &&
- 0 != (nBytesRead = fread( buffer, 1, sizeof(buffer), fp )) )
- {
- if (bHeader)
- {
- bHeader = false;
- const size_t MINIMAL_SIZE = 512;
- if (nBytesRead >= MINIMAL_SIZE && buffer[0] == sal_uInt8('M') && buffer[1] == sal_uInt8('Z') )
- normalize_pe_image(buffer, nBytesRead);
- }
-
- error = rtl_digest_updateMD5( digest, buffer, nBytesRead );
- }
-
- if ( rtl_Digest_E_None == error )
- {
- error = rtl_digest_getMD5( digest, checksum, sizeof(checksum) );
- }
-
- rtl_digest_destroyMD5( digest );
-
- for ( std::size_t i = 0; i < sizeof(checksum); i++ )
- {
- if ( checksum[i] < 16 )
- aChecksumBuf.append('0');
- aChecksumBuf.append(static_cast<sal_Int32>(checksum[i]), 16);
- }
- }
-
- fclose( fp );
- }
- else
- error = rtl_Digest_E_Unknown;
-
- rChecksum = aChecksumBuf.makeStringAndClear();
-
- return error;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tools/bootstrp/md5.hxx b/tools/bootstrp/md5.hxx
deleted file mode 100644
index 378787c479ed..000000000000
--- a/tools/bootstrp/md5.hxx
+++ /dev/null
@@ -1,25 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <rtl/digest.h>
-#include <rtl/string.hxx>
-
-rtlDigestError calc_md5_checksum(const char *filename, rtl::OString &rChecksum);
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tools/bootstrp/so_checksum.cxx b/tools/bootstrp/so_checksum.cxx
deleted file mode 100644
index f4ad46a41432..000000000000
--- a/tools/bootstrp/so_checksum.cxx
+++ /dev/null
@@ -1,47 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-
-#include "md5.hxx"
-
-#include <rtl/string.hxx>
-
-#include <stdio.h>
-
-int main( int argc, char * argv[] )
-{
- for (int n = 1; n < argc; ++n)
- {
- rtl::OString aChecksum;
- rtlDigestError error = calc_md5_checksum(argv[n], aChecksum);
-
- if ( rtl_Digest_E_None == error )
- {
- printf( "%s %s\n", aChecksum.getStr(), argv[n] );
- }
- else
- printf( "ERROR: Unable to calculate MD5 checksum for %s\n", argv[n] );
- }
-
- return 0;
-}
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */