drop crashrep unused since start of LibreOffice

Change-Id: I3df1216054c133314b2317849744a0a37e9fbc8f
Reviewed-on: https://gerrit.libreoffice.org/13733
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Caolán McNamara
2015-01-04 20:43:25 +00:00
parent 0d44e98d6a
commit 8ab4d2f29f
40 changed files with 9 additions and 5694 deletions

View File

@@ -159,13 +159,6 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,quickstart, \
))
endif
ifneq ($(ENABLE_CRASHDUMP),)
$(eval $(call gb_Helper_register_executables_for_install,OOO,crashrep, \
crashrep \
$(if $(filter WNT,$(OS)),crashrep_com) \
))
endif
$(eval $(call gb_Helper_register_executables_for_install,OOO,python, \
$(if $(filter WNT,$(OS)), \
python \

View File

@@ -27,7 +27,6 @@ gb_Executable_FILENAMES := $(patsubst uno:uno,uno:uno.bin,$(gb_Executable_FILENA
endif
gb_Executable_FILENAMES := $(patsubst unopkg_bin:unopkg_bin%,unopkg_bin:unopkg.bin,$(gb_Executable_FILENAMES))
gb_Executable_FILENAMES := $(patsubst unopkg_com:unopkg_com%,unopkg_com:unopkg.com,$(gb_Executable_FILENAMES))
gb_Executable_FILENAMES := $(patsubst crashrep_com:crashrep_com%,crashrep_com:crashrep.com,$(gb_Executable_FILENAMES))
gb_Executable_FILENAMES := $(patsubst gengal:gengal,gengal:gengal.bin,$(gb_Executable_FILENAMES))
ifeq ($(OS),MACOSX)

View File

@@ -46,7 +46,6 @@ $(eval $(call gb_Module_add_moduledirs,libreoffice,\
cppu \
cppuhelper \
cpputools \
$(call gb_Helper_optional,CRASHREP,crashrep) \
cui \
$(call gb_Helper_optional,DBCONNECTIVITY,dbaccess) \
desktop \

View File

@@ -253,7 +253,6 @@ class Parser:
"cppu" : 1,
"cppuhelper" : 1,
"cpputools" : 1,
"crashrep" : 1,
"cui" : 1,
"dbaccess" : 1,
"desktop" : 1,

View File

@@ -146,7 +146,4 @@
*/
#define HAVE_FEATURE_COLLADA 0
/* see --enable-crashdump: */
#define HAVE_FEATURE_CRASHDUMP 0
#endif

View File

@@ -4527,22 +4527,6 @@ dnl Check for syslog header
dnl ===================================================================
AC_CHECK_HEADER(syslog.h, AC_DEFINE(HAVE_SYSLOG_H))
dnl ===================================================================
dnl Set the ENABLE_CRASHDUMP variable.
dnl ===================================================================
AC_MSG_CHECKING([whether to enable crashdump feature])
if test "$enable_crashdump" = "yes"; then
ENABLE_CRASHDUMP="TRUE"
BUILD_TYPE="$BUILD_TYPE CRASHREP"
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_FEATURE_CRASHDUMP)
else
ENABLE_CRASHDUMP=""
AC_MSG_RESULT([no])
fi
AC_SUBST(ENABLE_CRASHDUMP)
dnl Set the ENABLE_WERROR variable. (Activate --enable-werror)
dnl ===================================================================
AC_MSG_CHECKING([whether to turn warnings to errors])

View File

@@ -152,7 +152,6 @@ Reference< XComponentContext > SAL_CALL bootstrap()
OUString("--nologo"),
OUString("--nodefault"),
OUString("--norestore"),
OUString("--nocrashreport"),
OUString("--nolockcheck"),
OUString("--accept=pipe,name=" + sPipeName + ";urp;")
};

View File

@@ -1,41 +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/.
#
$(eval $(call gb_CustomTarget_CustomTarget,crashrep/source/win32))
$(eval $(call gb_CustomTarget_register_targets,crashrep/source/win32, \
crashrep.ulf \
crashrep_impl.rc \
))
$(call gb_CustomTarget_get_workdir,crashrep/source/win32)/crashrep_impl.rc : \
$(call gb_CustomTarget_get_workdir,crashrep/source/win32)/crashrep.ulf \
$(SRCDIR)/crashrep/source/win32/rcfooter.txt \
$(SRCDIR)/crashrep/source/win32/rcheader.txt \
$(SRCDIR)/crashrep/source/win32/rctemplate.txt \
$(call gb_Executable_get_runtime_dependencies,lngconvex)
$(call gb_CustomTarget_get_workdir,crashrep/source/win32)/crashrep_impl.rc :
$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),LCX,1)
$(call gb_Helper_abbreviate_dirs,\
cd $(SRCDIR)/crashrep/source/win32 && \
$(call gb_Executable_get_command,lngconvex) \
-ulf $< \
-rc $@ \
-rct rctemplate.txt \
-rch rcheader.txt \
-rcf rcfooter.txt)
$(eval $(call gb_CustomTarget_ulfex_rule,\
$(call gb_CustomTarget_get_workdir,crashrep/source/win32)/crashrep.ulf,\
$(SRCDIR)/crashrep/source/win32/crashrep.ulf,\
$(foreach lang,$(gb_TRANS_LANGS),\
$(gb_POLOCATION)/$(lang)/crashrep/source/win32.po)))
# vim: set shiftwidth=4 tabstop=4 noexpandtab:

View File

@@ -1,67 +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/.
#
$(eval $(call gb_Executable_Executable,crashrep))
$(eval $(call gb_Executable_add_defs,crashrep,\
-D_INPATH=\"$(OS)_$(CPUNAME)\" \
))
$(eval $(call gb_Executable_use_external,crashrep,boost_headers))
ifeq ($(OS),WNT)
$(eval $(call gb_Executable_add_exception_objects,crashrep,\
crashrep/source/win32/soreport \
crashrep/source/win32/base64 \
))
$(eval $(call gb_Executable_use_libraries,crashrep,\
sal \
))
$(eval $(call gb_Executable_use_system_win32_libs,crashrep,\
gdi32 \
comctl32 \
comdlg32 \
advapi32 \
ws2_32 \
shell32 \
dbghelp \
psapi \
))
$(eval $(call gb_Executable_set_targettype_gui,crashrep,YES))
$(eval $(call gb_Executable_add_nativeres,crashrep,crashrep))
else
$(eval $(call gb_Executable_add_exception_objects,crashrep,\
crashrep/source/unx/main \
))
ifeq ($(filter FREEBSD NETBSD DRAGONFLY MACOSX,$(OS)),)
$(eval $(call gb_Executable_add_libs,crashrep,\
-ldl \
-lnsl \
))
endif
ifeq ($(OS),SOLARIS)
$(eval $(call gb_Executable_add_libs,crashrep,\
-lsocket \
))
endif
endif
# vim: set noet sw=4 ts=4:

View File

@@ -1,14 +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/.
#
module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
include $(module_directory)/../solenv/gbuild/partial_build.mk
# vim: set noet sw=4 ts=4:

View File

@@ -1,27 +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/.
#
$(eval $(call gb_Module_Module,crashrep))
ifeq ($(ENABLE_CRASHDUMP),TRUE)
ifeq ($(OS),WNT)
$(eval $(call gb_Module_add_targets,crashrep,\
CustomTarget_crashrep_res \
WinResTarget_crashrep \
))
endif # WNT
$(eval $(call gb_Module_add_targets,crashrep,\
Executable_crashrep \
))
endif # ENABLE_CRASHDUMP
# vim: set noet sw=4 ts=4:

View File

@@ -1 +0,0 @@
Reports crashes (currently disabled).

View File

@@ -1,25 +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/.
#
$(eval $(call gb_WinResTarget_WinResTarget,crashrep))
$(eval $(call gb_WinResTarget_use_custom_headers,crashrep,\
crashrep/source/win32 \
))
$(eval $(call gb_WinResTarget_add_defs,crashrep,\
-DRES_APP_NAME=crashrep \
-DRES_APP_FILEDESC="$(PRODUCTNAME) Crashreporter" \
-DVERVARIANT=$(LIBO_VERSION_PATCH) \
-DRES_APP_VENDOR="$(OOO_VENDOR)" \
))
$(eval $(call gb_WinResTarget_set_rcfile,crashrep,crashrep/source/win32/crashrep))
# vim: set noet sw=4 ts=4:

File diff suppressed because it is too large Load Diff

View File

@@ -1,75 +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 <stdio.h>
#include <string.h>
#include "base64.h"
static const char base64_tab[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
extern "C" size_t base64_encode( FILE *fin, FILE *fout )
{
size_t nLineLength = 0;
size_t nBytesWritten = 0;
size_t nBytes = 0;
do
{
unsigned char in_buffer[3];
memset( in_buffer, 0, sizeof(in_buffer) );
nBytes = fread( in_buffer, 1, sizeof(in_buffer), fin );
if ( nBytes )
{
unsigned long value =
((unsigned long)in_buffer[0]) << 16 |
((unsigned long)in_buffer[1]) << 8 |
((unsigned long)in_buffer[2]) << 0;
unsigned char out_buffer[4];
memset( out_buffer, '=', sizeof(out_buffer) );
out_buffer[0] = base64_tab[(value >> 18) & 0x3F];
out_buffer[1] = base64_tab[(value >> 12) & 0x3F];
if ( nBytes > 1 )
{
out_buffer[2] = base64_tab[(value >> 6) & 0x3F];
if ( nBytes > 2 )
out_buffer[3] = base64_tab[(value >> 0) & 0x3F];
}
if ( nLineLength >= 76 )
{
fputs( "\n", fout );
nLineLength = 0;
}
nBytesWritten += fwrite( out_buffer, 1, sizeof(out_buffer), fout );
nLineLength += sizeof(out_buffer);
}
} while ( nBytes );
return nBytesWritten;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,38 +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 .
*/
#ifndef INCLUDED_CRASHREP_SOURCE_WIN32_BASE64_H
#define INCLUDED_CRASHREP_SOURCE_WIN32_BASE64_H
#ifndef _INC_STDIO
#include <stdio.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
size_t base64_encode( FILE *fin, FILE *fout );
#ifdef __cplusplus
}
#endif
#endif // INCLUDED_CRASHREP_SOURCE_WIN32_BASE64_H
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,12 +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/.
*/
#include "crashrep_impl.rc"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -1,221 +0,0 @@
[%WELCOME_CAPTION%]
en-US = "%PRODUCTNAME% %PRODUCTVERSION% Error Report"
[%WELCOME_HEADER%]
en-US = "Welcome to the %PRODUCTNAME% %PRODUCTVERSION% Error Report"
[%WELCOME_BODY1%]
en-US = "This error report tool gathers information about how %PRODUCTNAME% is working and sends it to The Document Foundation to help improve future versions.\n\n"
[%WELCOME_BODY2%]
en-US = "It's easy - just send the report without any further effort on your part by clicking 'Send' in the next dialog, or you can briefly describe how the error occurred and then click 'Send'. If you want to see the report, click the 'Show Report' button. No data will be sent if you click 'Do Not Send'.\n\n"
[%WELCOME_BODY3%]
en-US = "Customer Privacy\nThe information gathered is limited to data concerning the state of %PRODUCTNAME% %PRODUCTVERSION% when the error occurred. Other information about passwords or document contents is not collected.\n\nThe information will only be used to improve the quality of %PRODUCTNAME% and will not be shared with third parties.\nFor more information on The Document Foundation's privacy policy, visit\n"
[%PRIVACY_URL%]
en-US = "http://www.documentfoundation.org/privacy"
[%NEXT_BUTTON%]
en-US = "~Next >>"
[%CANCEL_BUTTON%]
en-US = "Cancel"
[%OK_BUTTON%]
en-US = "OK"
[%REPORT_CAPTION%]
en-US = "%PRODUCTNAME% %PRODUCTVERSION% Error Report"
[%REPORT_HEADER%]
en-US = "An error occurred while running %PRODUCTNAME% %PRODUCTVERSION%"
[%REPORT_BODY%]
en-US = "The %PRODUCTNAME% %PRODUCTVERSION% Error Report has gathered information that could help The Document Foundation improve %PRODUCTNAME%.\nIn the spaces below, you can enter a title for your crash report and describe the action you were trying to carry out when the error occurred. Then click 'Send'.\n"
[%ENTER_TITLE%]
en-US = "Which type of document (e.g. presentation) were you using when the error occurred?"
[%ALLOW_CONTACT%]
en-US = "~I allow The Document Foundation to contact me regarding this report."
[%ENTER_EMAIL%]
en-US = "Please enter your e-mail address."
[%ENTER_DESCRIPTION%]
en-US = "~How were you using %PRODUCTNAME% when the error occurred ?"
[%BACK_BUTTON%]
en-US = " << ~Back"
[%SEND_BUTTON%]
en-US = "S~end"
[%DONOT_SEND_BUTTON%]
en-US = "Do ~Not Send"
[%SHOW_REPORT_BUTTON%]
en-US = "Show ~Report..."
[%SAVE_REPORT_BUTTON%]
en-US = "~Save Report..."
[%SAVE_REPORT_TITLE%]
en-US = "Save Report to"
[%ERROR_MSG_SIMPLE_MAPI%]
en-US = "The error report could not be sent because the default e-mail program does not support MAPI.\n Please use a MAPI-compatible e-mail program."
[%ERROR_MSG_DISK_FULL%]
en-US = "The error report could not be temporarily saved and could therefore not be sent."
[%ERROR_MSG_SENDMAIL%]
en-US = "The error report could not be sent because 'sendmail' could not be started.\nPlease check the 'sendmail' settings."
[%ERROR_MSG_PROXY%]
en-US = "The error report could not be sent. Please check the proxy settings under 'Options' in the Error Report Tool."
[%ERROR_MSG_NOCONNECT%]
en-US = "The error report could not be sent because there is no Internet connection. Please check your Internet settings."
[%OPTIONS_BUTTON%]
en-US = "~Options..."
[%OPTIONS_TITLE%]
en-US = "Options"
[%PROXY_SETTINGS_HEADER%]
en-US = "Proxy settings"
[%PROXY_SETTINGS_SYSTEM%]
en-US = "Use ~system settings"
[%PROXY_SETTINGS_DIRECT%]
en-US = "Use ~direct connection to the Internet"
[%PROXY_SETTINGS_MANUAL%]
en-US = "Use ~manual settings"
[%PROXY_SETTINGS_ADDRESS%]
en-US = "HT~TP Proxy"
[%PROXY_SETTINGS_PORT%]
en-US = "~Port"
[%PROXY_SETTINGS_DESCRIPTION%]
en-US = "The %PRODUCTNAME% Error Report tool needs to be connected to the Internet to be able to send error reports.\n\nCompanies often use proxy servers in conjunction with a firewall to protect the network.\n\nIf this applies to your situation, you have to specify the address and port for the server."
[%SENDING_REPORT_HEADER%]
en-US = "Sending Error Report"
[%SENDING_REPORT_STATUS%]
en-US = "Status: Sending error report"
[%SENDING_REPORT_STATUS_FINISHED%]
en-US = "Status: The error report has been sent successfully."
[%ERROR_MSG_NOEMAILADDRESS%]
en-US = "You have marked the option 'I allow The Document Foundation to contact me regarding this report.'\nPlease enter your e-mail address."
[%MSG_CMDLINE_USAGE%]
en-US = "Usage:"
[%MSG_PARAM_PROCESSID%]
en-US = "-p <process ID>"
[%MSG_PARAM_PROCESSID_DESCRIPTION%]
en-US = "Assigns the %PRODUCTNAME% process ID (PID) to the Error Report Tool"
[%MSG_PARAM_HELP_DESCRIPTION%]
en-US = "Shows this help text.\nDetailed information can be found in the Setup Guide."

View File

@@ -1,29 +0,0 @@
1 LANG_ENGLISH SUBLANG_ENGLISH_US
3 LANG_PORTUGUESE SUBLANG_PORTUGUESE
4 LANG_GERMAN SUBLANG_GERMAN
7 LANG_RUSSIAN SUBLANG_DEFAULT
30 LANG_GREEK SUBLANG_DEFAULT
31 LANG_DUTCH SUBLANG_DUTCH
33 LANG_FRENCH SUBLANG_FRENCH
34 LANG_SPANISH SUBLANG_SPANISH
35 LANG_FINNISH SUBLANG_DEFAULT
36 LANG_HUNGARIAN SUBLANG_DEFAULT
39 LANG_ITALIAN SUBLANG_ITALIAN
42 LANG_CZECH SUBLANG_DEFAULT
43 LANG_SLOVAK SUBLANG_DEFAULT
44 LANG_ENGLISH SUBLANG_ENGLISH_UK
45 LANG_DANISH SUBLANG_DEFAULT
46 LANG_SWEDISH SUBLANG_SWEDISH
47 LANG_NORWEGIAN SUBLANG_NORWEGIAN_BOKMAL
48 LANG_POLISH SUBLANG_DEFAULT
49 LANG_GERMAN SUBLANG_DEFAULT
55 LANG_PORTUGUESE SUBLANG_PORTUGUESE_BRAZILIAN
81 LANG_JAPANESE SUBLANG_DEFAULT
82 LANG_KOREAN SUBLANG_KOREAN
86 LANG_CHINESE SUBLANG_CHINESE_SIMPLIFIED
88 LANG_CHINESE SUBLANG_CHINESE_TRADITIONAL
90 LANG_TURKISH SUBLANG_DEFAULT
96 LANG_ARABIC SUBLANG_DEFAULT
97 LANG_HEBREW SUBLANG_DEFAULT
37 LANG_CATALAN SUBLANG_DEFAULT
66 LANG_THAI SUBLANG_DEFAULT

View File

@@ -1 +0,0 @@
// Footer

View File

@@ -1,75 +0,0 @@
/*
* 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 .
*/
// Header
#include "resource.h"
#include <winresrc.h>
#define LB_ADDSTRING (WM_USER+1)
#define CB_ADDSTRING (WM_USER+3)
#define IDC_STATIC (-1)
#include "version.hrc"
#ifdef FONTSIZE
#undef FONTSIZE
#endif
#define LANG_KOREAN 82
#define LANG_CHINESE 86
#define LANG_JAPANESE 81
#define PLACEHOLDER LANGUAGE
// version information
VS_VERSION_INFO versioninfo
fileversion VERSION, SUBVERSION, MICROVERSION, VERVARIANT
productversion VERSION, SUBVERSION, MICROVERSION, VERVARIANT
fileflagsmask 0x3F
fileflags
#if defined(DEBUG)
VS_FF_DEBUG |
#endif
#ifdef VER_PREL
VS_FF_PRERELEASE |
#endif
0
fileos VOS_NT_WINDOWS32
filetype VFT_APP
{
block "StringFileInfo"
{
block "040904E4"
{
// International StringTable
VALUE "CompanyName", PPS(RES_APP_VENDOR) "\0"
VALUE "FileDescription", PPS(RES_APP_FILEDESC) "\0"
VALUE "FileVersion", PPS(VER_LEVEL) "\0"
VALUE "ProductVersion", PPS(VER_LEVEL) "\0"
VALUE "ProductName", "LibreOffice\0"
VALUE "OriginalFilename", PPS(RES_APP_NAME) ".exe\0"
VALUE "InternalName", PPS(RES_APP_NAME) "\0"
VALUE "LegalCopyright", S_CRIGHT " LibreOffice contributors. All rights reserved.\0"
}
}
block "VarFileInfo"
{
value "Translation", 0x0409, 1252
}
}

View File

@@ -1,209 +0,0 @@
// 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 .
#ifdef FONTSIZE
#undef FONTSIZE
#endif
//#if ( %PLACEHOLDER% == LANG_KOREAN ) || ( %PLACEHOLDER% == LANG_CHINESE ) || ( %PLACEHOLDER% == LANG_JAPANESE )
//#define FONTSIZE 9
//#define LANG_CJK
//#else
//#define FONTSIZE 8
//#endif
#define FONTSIZE 9
// Dialog
IDD_WELCOME_PAGE DIALOGEX 0, 41, 327, 195
STYLE DS_SETFONT | DS_CONTROL | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
#ifndef LANG_CJK
FONT FONTSIZE, "MS Shell Dlg", 0, 0, 0x0
#endif
BEGIN
CONTROL "",IDC_RICHEDIT21,"RICHEDIT20W",TCS_RAGGEDRIGHT | ES_READONLY |
TCS_MULTISELECT | WS_VSCROLL,7,7,313,151
END
IDD_REPORT_PAGE DIALOGEX 0, 41, 327, 195
STYLE DS_SETFONT | DS_CONTROL | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
#ifndef LANG_CJK
FONT FONTSIZE, "MS Shell Dlg", 0, 0, 0x0
#endif
BEGIN
LTEXT "1",IDC_REPORT_INTRO,7,7,313,48
LTEXT "2",IDC_ENTER_TITLE,7,58,320,8
EDITTEXT IDC_EDIT_TITLE,7,68,235,14,ES_AUTOHSCROLL
LTEXT "3",IDC_ENTER_DESCRIPTION,7,86,320,8
EDITTEXT IDC_EDIT_DESCRIPTION,7,97,235,49,ES_MULTILINE |
ES_WANTRETURN | WS_VSCROLL
CONTROL "4",IDC_ALLOW_CONTACT,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,7,148,303,10
LTEXT "4a",IDC_LABEL_EMAIL,18,162,226,
8
EDITTEXT IDC_EDIT_EMAIL,17,173,224,14,ES_AUTOHSCROLL
PUSHBUTTON "5",IDC_SHOW_REPORT,249,97,74,14
PUSHBUTTON "6",IDC_OPTIONS,249,115,74,14
PUSHBUTTON "7",IDC_SAVE_REPORT,249,134,74,14
END
IDD_DIALOG_FRAME DIALOGEX 0, 0, 331, 265
STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND |
DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "1"
#ifndef LANG_CJK
FONT FONTSIZE, "MS Shell Dlg", 400, 0, 0x1
#endif
BEGIN
LTEXT "",IDC_STATIC,0,0,331,40
CONTROL "",IDC_HEADER,"RICHEDIT20W",TCS_VERTICAL | TCS_MULTISELECT | ES_READONLY,
7,7,316,33
PUSHBUTTON "1",IDBACK,125,244,60,14
PUSHBUTTON "2",IDNEXT,194,244,60,14
PUSHBUTTON "3",IDFINISH,194,244,60,14
PUSHBUTTON "4",IDCANCEL,263,244,60,14
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,40,331,1
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ,0,237,331,1
END
IDD_PREVIEW_FRAME DIALOGEX 0, 0, 251, 185
STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND |
DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU |
WS_SIZEBOX
CAPTION "1"
#ifndef LANG_CJK
FONT FONTSIZE, "MS Shell Dlg", 400, 0, 0x1
#endif
BEGIN
CONTROL "",IDC_EDIT_PREVIEW,"RICHEDIT20W",ES_MULTILINE |
ES_AUTOVSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | WS_HSCROLL |
TCS_MULTISELECT | ES_READONLY | TCS_RAGGEDRIGHT |
WS_BORDER
,
7,7,237,150
DEFPUSHBUTTON "4",IDOK,193,164,50,14
END
IDD_OPTIONS_FRAME DIALOGEX 0, 0, 295, 182
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION |
WS_SYSMENU
CAPTION "1"
#ifndef LANG_CJK
FONT FONTSIZE, "MS Shell Dlg", 400, 0, 0x1
#endif
BEGIN
GROUPBOX "1",IDC_PROXY_SETTINGS,7,7,222,92
CONTROL "2",IDC_RADIO_SYSTEM,"Button",BS_AUTORADIOBUTTON,15,27,
208,10
CONTROL "3",IDC_RADIO_DIRECT,"Button",BS_AUTORADIOBUTTON,15,39,
208,10
CONTROL "4",IDC_RADIO_MANUAL,"Button",BS_AUTORADIOBUTTON,15,51,
208,10
LTEXT "5",IDC_LABEL_PROXYSERVER,27,64,148,8
EDITTEXT IDC_EDIT_PROXYSERVER,27,76,148,14,ES_AUTOHSCROLL
LTEXT ":",IDC_STATIC,178,78,8,8
LTEXT "6",IDC_LABEL_PROXYPORT,184,64,40,8
EDITTEXT IDC_EDIT_PROXYPORT,184,76,40,14,ES_AUTOHSCROLL |
ES_NUMBER
DEFPUSHBUTTON "7",IDOK,238,7,50,14
PUSHBUTTON "8",IDCANCEL,238,26,50,14
CONTROL "",IDC_PROXY_DESCRIPTION,"RichEdit20W",ES_MULTILINE |
ES_READONLY | WS_VSCROLL,7,106,281,69
END
IDD_SENDING_STATUS DIALOGEX 0, 0, 216, 73
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION |
WS_SYSMENU
CAPTION "1"
#ifndef LANG_CJK
FONT FONTSIZE, "MS Shell Dlg", 400, 0, 0x1
#endif
BEGIN
PUSHBUTTON "2",IDCANCEL,159,52,50,14
LTEXT "3",IDC_SENDING_REPORT_STATUS,7,7,202,34
END
// String Table
STRINGTABLE
BEGIN
IDS_WELCOME_CAPTION %WELCOME_CAPTION%
IDS_WELCOME_HEADER %WELCOME_HEADER%
IDS_WELCOME_BODY1 %WELCOME_BODY1%
IDS_WELCOME_BODY2 %WELCOME_BODY2%
IDS_WELCOME_BODY3 %WELCOME_BODY3%
IDS_PRIVACY_URL %PRIVACY_URL%
IDS_NEXT_BUTTON %NEXT_BUTTON%
IDS_CANCEL_BUTTON %CANCEL_BUTTON%
IDS_OK_BUTTON %OK_BUTTON%
END
STRINGTABLE
BEGIN
IDS_REPORT_CAPTION %REPORT_CAPTION%
IDS_REPORT_HEADER %REPORT_HEADER%
IDS_REPORT_INTRO %REPORT_BODY%
IDS_ENTER_TITLE %ENTER_TITLE%
IDS_ALLOW_CONTACT %ALLOW_CONTACT%
IDS_ENTER_DESCRIPTION %ENTER_DESCRIPTION%
IDS_BACK_BUTTON %BACK_BUTTON%
IDS_SEND_BUTTON %SEND_BUTTON%
IDS_DONOT_SEND_BUTTON %DONOT_SEND_BUTTON%
IDS_SHOW_REPORT_BUTTON %SHOW_REPORT_BUTTON%
IDS_SAVE_REPORT_BUTTON %SAVE_REPORT_BUTTON%
IDS_OPTIONS_BUTTON %OPTIONS_BUTTON%
IDS_LABEL_EMAIL %ENTER_EMAIL%
END
STRINGTABLE
BEGIN
IDS_ERROR_MSG_SIMPLE_MAPI %ERROR_MSG_SIMPLE_MAPI%
IDS_ERROR_MSG_DISK_FULL %ERROR_MSG_DISK_FULL%
IDS_ERROR_MSG_PROXY %ERROR_MSG_PROXY%
IDS_ERROR_MSG_NOCONNECT %ERROR_MSG_NOCONNECT%
IDS_ERROR_MSG_NOEMAILADDRESS %ERROR_MSG_NOEMAILADDRESS%
IDS_SENDING_REPORT_HEADER %SENDING_REPORT_HEADER%
IDS_SENDING_REPORT_STATUS %SENDING_REPORT_STATUS%
IDS_SENDING_REPORT_STATUS_FINISHED %SENDING_REPORT_STATUS_FINISHED%
IDS_MSG_CMDLINE_USAGE %MSG_CMDLINE_USAGE%
IDS_MSG_PARAM_PROCESSID %MSG_PARAM_PROCESSID%
IDS_MSG_PARAM_PROCESSID_DESCRIPTION %MSG_PARAM_PROCESSID_DESCRIPTION%
IDS_MSG_PARAM_HELP_DESCRIPTION %MSG_PARAM_HELP_DESCRIPTION%
END
STRINGTABLE
BEGIN
IDS_OPTIONS_CAPTION %OPTIONS_TITLE%
IDS_PROXY_SETTINGS_HEADER %PROXY_SETTINGS_HEADER%
IDS_PROXY_SYSTEM %PROXY_SETTINGS_SYSTEM%
IDS_PROXY_DIRECT %PROXY_SETTINGS_DIRECT%
IDS_PROXY_MANUAL %PROXY_SETTINGS_MANUAL%
IDS_LABEL_PROXYSERVER %PROXY_SETTINGS_ADDRESS%
IDS_LABEL_PROXYPORT %PROXY_SETTINGS_PORT%
IDS_PROXY_DESCRIPTION %PROXY_SETTINGS_DESCRIPTION%
END

View File

@@ -1,115 +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 .
*/
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by soreport.rc
#define IDD_DIALOG_FRAME 101
#define IDS_WELCOME_CAPTION 102
#define IDS_WELCOME_HEADER 103
#define IDS_WELCOME_BODY1 104
#define IDS_PRIVACY_URL 105
#define IDS_NEXT_BUTTON 106
#define IDD_WELCOME_PAGE 107
#define IDS_CANCEL_BUTTON 107
#define IDD_REPORT_PAGE 108
#define IDS_REPORT_CAPTION 108
#define IDS_REPORT_HEADER 109
#define IDS_DESCRIPTION 110
#define IDS_REPORT_INTRO 110
#define IDS_ENTER_TITLE 111
#define IDS_ALLOW_CONTACT 112
#define IDS_ENTER_DESCRIPTION 113
#define IDS_BACK_BUTTON 114
#define IDS_SEND_BUTTON 115
#define IDS_DONOT_SEND_BUTTON 116
#define IDS_SHOW_REPORT_BUTTON 117
#define IDS_SAVE_REPORT_BUTTON 118
#define IDD_PREVIEW_FRAME 119
#define IDS_ERROR_MSG_SIMPLE_MAPI 120
#define IDS_ERROR_MSG_DISK_FULL 121
#define IDS_OK_BUTTON 122
#define IDS_OPTIONS_BUTTON 123
#define IDS_LABEL_EMAIL 124
#define IDD_OPTIONS_FRAME 125
#define IDS_OPTIONS_CAPTION 126
#define IDS_PROXY_SETTINGS_HEADER 127
#define IDS_PROXY_SYSTEM 128
#define IDS_PROXY_DIRECT 129
#define IDS_PROXY_MANUAL 130
#define IDS_LABEL_PROXYSERVER 131
#define IDS_LABEL_PROXYPORT 132
#define IDS_PROXY_DESCRIPTION 133
#define IDS_ERROR_MSG_PROXY 134
#define IDS_ERROR_MSG_NOCONNECT 135
#define IDS_SENDING_REPORT_HEADER 136
#define IDS_SENDING_REPORT_STATUS 137
#define IDS_SENDING_REPORT_STATUS_FINISHED 138
#define IDD_SENDING_STATUS 139
#define IDS_WELCOME_BODY2 140
#define IDS_WELCOME_BODY3 141
#define IDS_ERROR_MSG_NOEMAILADDRESS 142
#define IDS_MSG_CMDLINE_USAGE 143
#define IDS_MSG_PARAM_PROCESSID 144
#define IDS_MSG_PARAM_PROCESSID_DESCRIPTION 145
#define IDS_MSG_PARAM_HELP_DESCRIPTION 146
#define IDC_RICHEDIT_HEADER 1005
#define IDC_RICHEDIT21 1006
#define IDC_ALLOW_CONTACT 1007
#define IDC_EDIT_TITLE 1008
#define IDC_EDIT_DESCRIPTION 1009
#define IDC_SHOW_REPORT 1010
#define IDC_SAVE_REPORT 1011
#define IDNEXT 1012
#define IDBACK 1014
#define IDC_REPORT_INTRO 1015
#define IDC_ENTER_TITLE 1016
#define IDFINISH 1016
#define IDC_ENTER_DESCRIPTION 1017
#define IDC_EDIT3 1018
#define IDC_HEADER 1019
#define IDC_STATICBK 1020
#define IDC_EDIT_PREVIEW 1021
#define IDC_EDIT_EMAIL 1022
#define IDC_OPTIONS 1023
#define IDC_PROXY_SETTINGS 1024
#define IDC_RADIO_SYSTEM 1025
#define IDC_RADIO_DIRECT 1026
#define IDC_RADIO_MANUAL 1027
#define IDC_LABEL_PROXYSERVER 1028
#define IDC_LABEL_PROXYPORT 1029
#define IDC_EDIT_PROXYSERVER 1030
#define IDC_EDIT_PROXYPORT 1031
#define IDC_LABEL_EMAIL 1032
#define IDC_PROXY_DESCRIPTION 1033
#define IDC_SENDING_REPORT_STATUS 1034
// Next default values for new objects
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 147
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1035
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

File diff suppressed because it is too large Load Diff

View File

@@ -1,26 +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/.
#
$(eval $(call gb_Executable_Executable,crashrep_com))
$(eval $(call gb_Executable_set_targettype_gui,crashrep_com,NO))
$(eval $(call gb_Executable_add_defs,crashrep_com,\
$(LFS_CFLAGS) \
))
$(eval $(call gb_Executable_use_libraries,crashrep_com,\
$(gb_UWINAPI) \
))
$(eval $(call gb_Executable_add_exception_objects,crashrep_com,\
desktop/win32/source/guistdio/guistdio \
))
# vim: set ts=4 sw=4 et:

View File

@@ -62,12 +62,6 @@ endif
ifeq ($(OS),WNT)
ifneq ($(ENABLE_CRASHDUMP),)
$(eval $(call gb_Module_add_targets,desktop,\
Executable_crashrep_com \
))
endif
$(eval $(call gb_Module_add_targets,desktop,\
StaticLibrary_winloader \
StaticLibrary_winlauncher \

View File

@@ -1,23 +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 "guistdio.inc"
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -65,5 +65,4 @@
--enable-python=internal
--enable-oxygenoffice
--enable-ccache
--enable-crashdump
--enable-cairo-canvas

View File

@@ -1,4 +1,4 @@
ParamList=-OutProducer stats.SimpleFileOutProducer -OutputPath /dev/null
#AppExecutionCommand=d:\\prj_new\\install\\src680_m17\\program\\soffice --norestore --nocrashreport --accept=socket,host=0,port=8100;urp;
#AppExecutionCommand=d:\\prj_new\\install\\src680_m17\\program\\soffice --norestore --accept=socket,host=0,port=8100;urp;
# the test job list
job1=sw.SwXTextTable

View File

@@ -219,15 +219,15 @@ public class RecoveryTools {
/**
* The office must be started WITH restore and crashreporter functionality.
* Therefore the parameter '<CODE>--norestore</CODE>' and '<CODE>--nocrashreport</CODE>'
* The office must be started WITH restore functionality.
* Therefore the parameter '<CODE>--norestore</CODE>'
* was removed from the <CODE>AppExecutionCommand</CODE> parameter
*/
public void removeParametersFromAppExecutionCommand(){
//remove some params to start office
String office = (String) param.get("AppExecutionCommand");
String[] params = {"--norestore", "--nocrashreport"};
String[] params = {"--norestore"};
for (int i = 0; i < params.length; i++){
int index = office.indexOf(params[i]);

View File

@@ -275,7 +275,6 @@ public class Bootstrap {
cmdArray[1] = "--nologo";
cmdArray[2] = "--nodefault";
cmdArray[3] = "--norestore";
cmdArray[4] = "--nocrashreport";
cmdArray[5] = "--nolockcheck";
cmdArray[6] = "--accept=pipe,name=" + sPipeName + ";urp;";

View File

@@ -23,8 +23,8 @@ unxlngi.DOC_COMPARATOR_OUTPUT_PATH=/net/so-gfxcmp-lin/export/gfxcmp/document-poo
DB_CONNECTION_STRING=server:jakobus,db:jobs_convwatch,user:admin,passwd:admin
# Set path to an existing office installation
wntmsci.AppExecutionCommand=C:\\home\\${USERNAME}\\staroffice8\\program\\soffice.exe --norestore --nocrashreport --accept=socket,host=localhost,port=8100;urp;
unxlngi.AppExecutionCommand=/opt/staroffice8/program/soffice --norestore --nocrashreport --accept=socket,host=localhost,port=8100;urp;
wntmsci.AppExecutionCommand=C:\\home\\${USERNAME}\\staroffice8\\program\\soffice.exe --norestore --accept=socket,host=localhost,port=8100;urp;
unxlngi.AppExecutionCommand=/opt/staroffice8/program/soffice --norestore --accept=socket,host=localhost,port=8100;urp;
# Set the 'Continue' Property to true, to leave out already done tests.
Continue=true

View File

@@ -29,9 +29,6 @@
#if defined( INTEL )
#include "backtrace.h"
#define INCLUDE_BACKTRACE
#if HAVE_FEATURE_CRASHDUMP
#define STACKTYPE "MacOsX_X86"
#endif
#endif /* INTEL */
#endif /* MACOSX */
@@ -40,9 +37,6 @@
#include <execinfo.h>
#include <link.h>
#define INCLUDE_BACKTRACE
#if HAVE_FEATURE_CRASHDUMP
#define STACKTYPE "Linux"
#endif
#endif
#ifdef SOLARIS
@@ -50,16 +44,6 @@
#include "backtrace.h"
#define INCLUDE_BACKTRACE
#if HAVE_FEATURE_CRASHDUMP
#if defined( SPARC )
#define STACKTYPE "Solaris_Sparc"
#elif defined( INTEL )
#define STACKTYPE "Solaris_X86"
#else
#define STACKTYPE "Solaris_Unknown"
#endif
#endif
#endif /* defined SOLARIS */
#if defined INCLUDE_BACKTRACE
@@ -81,11 +65,7 @@
#define ACT_EXIT 2
#define ACT_SYSTEM 3
#define ACT_HIDE 4
#if HAVE_FEATURE_CRASHDUMP
# define ACT_ABORT 5
#else
# define ACT_ABORT ACT_SYSTEM
#endif
#define ACT_ABORT ACT_SYSTEM
#if defined HAVE_VALGRIND_HEADERS
#include <valgrind/memcheck.h>
@@ -314,495 +294,6 @@ static bool DeInitSignal(void)
return false;
}
#if HAVE_FEATURE_CRASHDUMP && defined(INCLUDE_BACKTRACE)
static sal_uInt32 calc_md5_checksum( const char *filename, sal_uInt8 *pChecksum, sal_uInt32 nChecksumLen )
{
sal_uInt32 nBytesProcessed = 0;
FILE *fp = fopen( filename, "r" );
if ( fp )
{
rtlDigest digest = rtl_digest_createMD5();
if ( digest )
{
size_t nBytesRead;
sal_uInt8 buffer[4096];
rtlDigestError error = rtl_Digest_E_None;
while ( rtl_Digest_E_None == error &&
0 != (nBytesRead = fread( buffer, 1, sizeof(buffer), fp )) )
{
error = rtl_digest_updateMD5( digest, buffer, nBytesRead );
nBytesProcessed += nBytesRead;
}
if ( rtl_Digest_E_None == error )
{
error = rtl_digest_getMD5( digest, pChecksum, nChecksumLen );
}
if ( rtl_Digest_E_None != error )
nBytesProcessed = 0;
rtl_digest_destroyMD5( digest );
}
fclose( fp );
}
return nBytesProcessed;
}
/*****************************************************************************/
/* Call crash reporter */
/*****************************************************************************/
/* Helper function to encode and write a string to a stream */
static int fputs_xml( const char *string, FILE *stream )
{
int result = 0;
while ( result >= 0 && *string )
{
switch( *string )
{
case '&':
result = fputs( "&amp;", stream );
break;
case '<':
result = fputs( "&lt;", stream );
break;
case '>':
result = fputs( "&gt;", stream );
break;
default:
result = fputc( *string, stream );
break;
}
string++;
}
return result;
}
#endif
/* Create intermediate files and run crash reporter */
#if HAVE_FEATURE_CRASHDUMP && defined INCLUDE_BACKTRACE && defined LINUX
typedef struct
{
const char *name;
ElfW(Off) offset;
} dynamic_entry;
static int
callback(struct dl_phdr_info *info, size_t size, void *data)
{
const ElfW(Phdr) *pDynamic = NULL;
if (size == sizeof(struct dl_phdr_info))
{
int i;
for (i = 0; i < info->dlpi_phnum; ++i)
{
if (info->dlpi_phdr[i].p_type == PT_DYNAMIC)
{
pDynamic = &(info->dlpi_phdr[i]);
break;
}
}
}
if (pDynamic)
{
char exe[PATH_MAX];
const char *dsoname = info->dlpi_name;
dynamic_entry* entry = (dynamic_entry*)data;
if (strcmp(dsoname, "") == 0)
{
char buffer[100];
int len;
snprintf(buffer, sizeof(buffer), "/proc/%d/exe", getpid());
if ((len = readlink(buffer, exe, PATH_MAX)) != -1)
{
exe[len] = '\0';
dsoname = exe;
}
}
if (strcmp(dsoname, entry->name) == 0)
{
entry->offset = pDynamic->p_offset;
return 1;
}
}
return 0;
}
/* Get the location of the .dynamic section offset for the given elf file.
* i.e. same as the "Offset" value shown for DYNAMIC from readelf -l foo
*
* We want to know this value so that if the binaries have been modified
* by prelink then we can still process the call stack on server side
* by comparing this value to that of an "un-prelinked but known to be
* otherwise equivalent" version of those binaries and adjust the call
* stack addresses by the differences between .dynamic addresses so as
* to be able to map the prelinked addresses back to the unprelinked
* addresses
*
* cmc@openoffice.org
*/
static ElfW(Off)
dynamic_section_offset(const char *name)
{
dynamic_entry entry;
entry.name = name;
entry.offset = 0;
dl_iterate_phdr(callback, &entry);
return entry.offset;
}
#endif
static int ReportCrash( int Signal )
{
#if HAVE_FEATURE_CRASHDUMP
#define REPORTENV_PARAM "-crashreportenv:"
static bool bCrashReporterExecuted = false;
bool bAutoCrashReport = false;
sal_uInt32 argi;
sal_uInt32 argc;
rtl_uString *ustrCommandArg = NULL;
if ( !bErrorReportingEnabled )
return -1;
argc = osl_getCommandArgCount();
for ( argi = 0; argi < argc; argi++ )
{
osl_getCommandArg( argi, &ustrCommandArg );
if ( 0 == rtl_ustr_ascii_compare( rtl_uString_getStr( ustrCommandArg ), "--nocrashreport" ) )
{
rtl_uString_release( ustrCommandArg );
return -1;
}
else if ( 0 == rtl_ustr_ascii_compare( rtl_uString_getStr( ustrCommandArg ), "--autocrashreport" ) )
{
bAutoCrashReport = true;
}
else if ( 0 == rtl_ustr_ascii_shortenedCompare_WithLength(
rtl_uString_getStr( ustrCommandArg ), rtl_uString_getLength( ustrCommandArg ),
REPORTENV_PARAM, strlen(REPORTENV_PARAM) )
)
{
rtl_uString *ustrEnvironment = NULL;
rtl_String *strEnv = NULL;
rtl_uString_newFromStr( &ustrEnvironment, rtl_uString_getStr( ustrCommandArg ) + strlen(REPORTENV_PARAM) );
if ( ustrEnvironment )
{
rtl_uString2String(
&strEnv,
rtl_uString_getStr( ustrEnvironment ), rtl_uString_getLength( ustrEnvironment ),
osl_getThreadTextEncoding(), OUSTRING_TO_OSTRING_CVTFLAGS
);
if ( strEnv )
{
putenv( rtl_string_getStr( strEnv ) );
rtl_string_release( strEnv );
}
rtl_uString_release( ustrEnvironment );
}
}
}
if ( ustrCommandArg )
rtl_uString_release( ustrCommandArg );
if ( !bCrashReporterExecuted )
{
int i;
/* struct sigaction act; */
for (i = 0; i < NoSignals; i++)
{
if (Signals[i].Signal == Signal && Signals[i].Action == ACT_ABORT )
{
int ret;
char szShellCmd[512] = { '\0' };
char *pXMLTempName = NULL;
char *pStackTempName = NULL;
char *pChecksumTempName = NULL;
#ifdef INCLUDE_BACKTRACE
char szXMLTempNameBuffer[L_tmpnam];
char szChecksumTempNameBuffer[L_tmpnam];
char szStackTempNameBuffer[L_tmpnam];
void *stackframes[MAX_STACK_FRAMES];
int nFrames = backtrace( stackframes, SAL_N_ELEMENTS(stackframes) );
FILE *xmlout = NULL, *stackout = NULL, *checksumout = NULL;
int fdxml, fdstk, fdchksum;
strncpy( szXMLTempNameBuffer, P_tmpdir, sizeof(szXMLTempNameBuffer) );
strncat( szXMLTempNameBuffer, "/crxmlXXXXXX", sizeof(szXMLTempNameBuffer) - strlen(szXMLTempNameBuffer) - 1 );
strncpy( szStackTempNameBuffer, P_tmpdir, sizeof(szStackTempNameBuffer) );
strncat( szStackTempNameBuffer, "/crstkXXXXXX", sizeof(szStackTempNameBuffer) - strlen(szStackTempNameBuffer) - 1 );
strncpy( szChecksumTempNameBuffer, P_tmpdir, sizeof(szChecksumTempNameBuffer) );
strncat( szChecksumTempNameBuffer, "/crchkXXXXXX", sizeof(szChecksumTempNameBuffer) - strlen(szChecksumTempNameBuffer) - 1 );
fdxml = mkstemp(szXMLTempNameBuffer);
fdstk = mkstemp(szStackTempNameBuffer);
fdchksum = mkstemp(szChecksumTempNameBuffer);
xmlout = fdopen( fdxml , "w" );
stackout = fdopen( fdstk , "w" );
checksumout = fdopen( fdchksum, "w" );
pXMLTempName = szXMLTempNameBuffer;
pStackTempName = szStackTempNameBuffer;
pChecksumTempName = szChecksumTempNameBuffer;
if ( xmlout && stackout && checksumout )
{
fprintf( xmlout, "<errormail:Stack type=\"%s\">\n", STACKTYPE );
fprintf( checksumout, "<errormail:Checksums type=\"MD5\">\n" );
int iFrame;
for ( iFrame = 0; iFrame < nFrames; iFrame++ )
{
Dl_info dl_info;
fprintf( stackout, "0x%" SAL_PRIxUINTPTR ":",
reinterpret_cast<sal_uIntPtr>(stackframes[iFrame]) );
fprintf( xmlout, "<errormail:StackInfo pos=\"%d\" ip=\"0x%" SAL_PRIxUINTPTR "\"",
iFrame,
reinterpret_cast<sal_uIntPtr>(stackframes[iFrame])
);
memset( &dl_info, 0, sizeof(dl_info) );
/* dladdr may fail */
if ( dladdr( stackframes[iFrame], &dl_info) )
{
const char *dli_fname = NULL;
char *dli_fdir = NULL;
/* Don't expect that dladdr filled all members of dl_info */
dli_fname = dl_info.dli_fname ? strrchr( dl_info.dli_fname, '/' ) : NULL;
if ( dli_fname )
{
char szDirectory[PATH_MAX];
char szCanonicDirectory[PATH_MAX];
++dli_fname;
memcpy( szDirectory, dl_info.dli_fname, dli_fname - dl_info.dli_fname );
szDirectory[dli_fname - dl_info.dli_fname] = 0;
dli_fdir = realpath( szDirectory, szCanonicDirectory ) ? szCanonicDirectory : szDirectory;
if ( *dli_fdir && dli_fdir[ strlen(dli_fdir) - 1 ] != '/' )
strcat( dli_fdir, "/" );
}
else
dli_fname = dl_info.dli_fname;
/* create checksum of library on stack */
if ( dli_fname )
{
sal_uInt8 checksum[RTL_DIGEST_LENGTH_MD5];
sal_uInt32 nBytesProcessed = calc_md5_checksum(
dl_info.dli_fname, checksum, sizeof(checksum) );
if ( nBytesProcessed )
{
int j;
fprintf( checksumout, "<errormail:Checksum sum=\"0x" );
for ( j = 0; j < 16; fprintf( checksumout, "%02X", checksum[j++] ) );
fprintf( checksumout,
"\" bytes=\"%lu\" file=\"%s\"/>\n",
sal::static_int_cast<
unsigned long>(nBytesProcessed),
dli_fname );
}
}
if ( dl_info.dli_fbase && dl_info.dli_fname )
{
#ifdef LINUX
ElfW(Off) dynamic_offset = dynamic_section_offset(dl_info.dli_fname);
fprintf( stackout, " 0x%" SAL_PRI_SIZET "x:", dynamic_offset);
#endif
fprintf( stackout, " %s + 0x%" SAL_PRI_PTRDIFFT "x",
dl_info.dli_fname,
(char*)stackframes[iFrame] - (char*)dl_info.dli_fbase
);
fprintf( xmlout, " rel=\"0x%" SAL_PRI_PTRDIFFT "x\"", (char *)stackframes[iFrame] - (char *)dl_info.dli_fbase );
if ( dli_fname )
fprintf( xmlout, " name=\"%s\"", dli_fname );
if ( dli_fdir )
fprintf( xmlout, " path=\"%s\"", dli_fdir );
#ifdef LINUX
fprintf( xmlout, " dynamicoffset=\"0x%" SAL_PRI_SIZET "x\"", dynamic_offset );
#endif
}
else
fprintf( stackout, " ????????" );
if ( dl_info.dli_sname && dl_info.dli_saddr )
{
fputs( " (", stackout );
fputs_xml( dl_info.dli_sname, stackout );
fprintf( stackout, " + 0x%" SAL_PRI_PTRDIFFT "x)",
(char*)stackframes[iFrame] - (char*)dl_info.dli_saddr );
fputs( " ordinal=\"", xmlout );
fputs_xml( dl_info.dli_sname, xmlout );
fprintf( xmlout, "+0x%" SAL_PRI_PTRDIFFT "x\"",
(char *)stackframes[iFrame] - (char *)dl_info.dli_saddr );
}
}
else /* dladdr failed */
{
fprintf( stackout, " ????????" );
}
fprintf( stackout, "\n" );
fprintf( xmlout, "/>\n" );
}
fprintf( xmlout, "</errormail:Stack>\n" );
fprintf( checksumout, "</errormail:Checksums>\n" );
}
else
{
pXMLTempName = NULL;
pStackTempName = NULL;
pChecksumTempName = NULL;
}
if ( stackout )
fclose( stackout );
if ( xmlout )
fclose( xmlout );
if ( checksumout )
fclose( checksumout );
if ( pXMLTempName && pChecksumTempName && pStackTempName )
#endif /* INCLUDE_BACKTRACE */
{
rtl_uString * crashrep_url = NULL;
rtl_uString * crashrep_path = NULL;
rtl_String * crashrep_path_system = NULL;
rtl_string2UString(
&crashrep_url,
RTL_CONSTASCII_USTRINGPARAM(
"$BRAND_BASE_DIR/program/crashrep"),
OSTRING_TO_OUSTRING_CVTFLAGS);
rtl_bootstrap_expandMacros(&crashrep_url);
osl_getSystemPathFromFileURL(crashrep_url, &crashrep_path);
rtl_uString2String(
&crashrep_path_system,
rtl_uString_getStr(crashrep_path),
rtl_uString_getLength(crashrep_path),
osl_getThreadTextEncoding(),
(RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR
| RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR));
rtl_uString_release(crashrep_url);
rtl_uString_release(crashrep_path);
#if defined INCLUDE_BACKTRACE && (defined LINUX || defined MACOSX)
snprintf( szShellCmd, SAL_N_ELEMENTS(szShellCmd),
"%s -p %d -s %d -xml %s -chksum %s -stack %s -noui%s",
rtl_string_getStr(crashrep_path_system),
getpid(),
Signal,
pXMLTempName,
pChecksumTempName,
pStackTempName,
bAutoCrashReport ? " -send" : "" );
#elif defined INCLUDE_BACKTRACE && defined SOLARIS
snprintf( szShellCmd, SAL_N_ELEMENTS(szShellCmd),
"%s -p %d -s %d -xml %s -chksum %s -noui%s",
rtl_string_getStr(crashrep_path_system),
getpid(),
Signal,
pXMLTempName,
pChecksumTempName,
bAutoCrashReport ? " -send" : "" );
#else
snprintf( szShellCmd, SAL_N_ELEMENTS(szShellCmd),
"%s -p %d -s %d -noui%s",
rtl_string_getStr(crashrep_path_system),
getpid(), Signal, bAutoCrashReport ? " -send" : "" );
#endif
rtl_string_release(crashrep_path_system);
}
ret = szShellCmd[0] == '\0' ? -1 : system( szShellCmd );
if ( pXMLTempName )
unlink( pXMLTempName );
if ( pStackTempName )
unlink( pStackTempName );
if ( pChecksumTempName )
unlink( pChecksumTempName );
if ( -1 != ret )
{
bCrashReporterExecuted = true;
return 1;
}
else
return -1;
}
}
return 0;
}
return 1;
#else /* HAVE_FEATURE_CRASHDUMP */
/* the utility crash_report is not build, so do the same as when
the option -nocrashreport is used */
(void) Signal; // avoid warnings
return -1;
#endif /* HAVE_FEATURE_CRASHDUMP */
}
static void PrintStack( int sig )
{
#ifdef INCLUDE_BACKTRACE
@@ -868,7 +359,6 @@ void CallSystemHandler(int Signal)
break;
case ACT_ABORT: /* terminate witch core dump */
ReportCrash( Signal );
act.sa_handler = SIG_DFL;
act.sa_flags = 0;
sigemptyset(&(act.sa_mask));
@@ -956,8 +446,6 @@ void SignalHandlerFunction(int Signal)
break;
}
ReportCrash( Signal );
switch (CallSignalHandler(&Info))
{
case osl_Signal_ActCallNextHdl:
@@ -965,7 +453,6 @@ void SignalHandlerFunction(int Signal)
break;
case osl_Signal_ActAbortApp:
ReportCrash( Signal );
act.sa_handler = SIG_DFL;
act.sa_flags = 0;
sigemptyset(&(act.sa_mask));

View File

@@ -99,131 +99,12 @@ static oslSignalAction CallSignalHandler(oslSignalInfo *pInfo)
/* SignalHandlerFunction */
/*****************************************************************************/
#define REPORTENV_PARAM "-crashreportenv:"
#define REPORTENV_PARAM2 "/crashreportenv:"
static BOOL ReportCrash( LPEXCEPTION_POINTERS lpEP )
{
BOOL fSuccess = FALSE;
BOOL fAutoReport = FALSE;
TCHAR szBuffer[1024];
::osl::LongPathBuffer< sal_Char > aPath( MAX_LONG_PATH );
LPTSTR lpFilePart;
PROCESS_INFORMATION ProcessInfo;
STARTUPINFO StartupInfo;
int argi;
if ( !bErrorReportingEnabled )
return FALSE;
/* Check if crash reporter was disabled by command line */
for ( argi = 1; argi < __argc; argi++ )
{
if (
0 == stricmp( __argv[argi], "--nocrashreport" ) ||
0 == stricmp( __argv[argi], "/nocrashreport" )
)
return FALSE;
else if (
0 == stricmp( __argv[argi], "--autocrashreport" ) ||
0 == stricmp( __argv[argi], "/autocrashreport" )
)
fAutoReport = TRUE;
else if (
0 == strnicmp( __argv[argi], REPORTENV_PARAM, strlen(REPORTENV_PARAM) ) ||
0 == strnicmp( __argv[argi], REPORTENV_PARAM2, strlen(REPORTENV_PARAM2) )
)
{
const char *envparam = __argv[argi] + strlen(REPORTENV_PARAM);
const char *delim = strchr(envparam, '=' );
if ( delim )
{
CHAR *lpVariable;
CHAR *lpValue;
const char *variable = envparam;
size_t variable_len = delim - envparam;
const char *value = delim + 1;
size_t value_len = strlen(envparam) - variable_len - 1;
if ( '\"' == *value )
{
const char *quote;
value++;
value_len--;
quote = strchr( value, '\"' );
if ( quote )
value_len = quote - value;
}
lpVariable = reinterpret_cast< CHAR* >( _alloca( variable_len + 1 ) );
memcpy( lpVariable, variable, variable_len );
lpVariable[variable_len] = 0;
lpValue = reinterpret_cast< CHAR* >( _alloca( value_len + 1) );
memcpy( lpValue, value, value_len );
lpValue[value_len] = 0;
SetEnvironmentVariable( lpVariable, lpValue );
}
}
}
if ( SearchPath( NULL, TEXT( "crashrep.exe" ), NULL, aPath.getBufSizeInSymbols(), aPath, &lpFilePart ) )
{
ZeroMemory( &StartupInfo, sizeof(StartupInfo) );
StartupInfo.cb = sizeof(StartupInfo.cb);
sntprintf( szBuffer, SAL_N_ELEMENTS(szBuffer),
_T("%s -p %lu -excp 0x%p -t %lu%s"),
static_cast<sal_Char*>( aPath ),
GetCurrentProcessId(),
lpEP,
GetCurrentThreadId(),
fAutoReport ? _T(" -noui -send") : _T(" -noui") );
if (
CreateProcess(
NULL,
szBuffer,
NULL,
NULL,
FALSE,
#ifdef UNICODE
CREATE_UNICODE_ENVIRONMENT,
#else
0,
#endif
NULL, NULL, &StartupInfo, &ProcessInfo )
)
{
DWORD dwExitCode;
WaitForSingleObject( ProcessInfo.hProcess, INFINITE );
if ( GetExitCodeProcess( ProcessInfo.hProcess, &dwExitCode ) && 0 == dwExitCode )
fSuccess = TRUE;
}
}
return fSuccess;
}
/*****************************************************************************/
/* SignalHandlerFunction */
/*****************************************************************************/
/* magic Microsoft C++ compiler exception constant */
#define EXCEPTION_MSC_CPP_EXCEPTION 0xe06d7363
static long WINAPI SignalHandlerFunction(LPEXCEPTION_POINTERS lpEP)
{
static sal_Bool bNested = sal_False;
sal_Bool bRaiseCrashReporter = sal_False;
oslSignalInfo Info;
oslSignalAction Action;
@@ -238,17 +119,14 @@ static long WINAPI SignalHandlerFunction(LPEXCEPTION_POINTERS lpEP)
case EXCEPTION_MSC_CPP_EXCEPTION:
case EXCEPTION_ACCESS_VIOLATION:
Info.Signal = osl_Signal_AccessViolation;
bRaiseCrashReporter = sal_True;
break;
case EXCEPTION_INT_DIVIDE_BY_ZERO:
Info.Signal = osl_Signal_IntegerDivideByZero;
bRaiseCrashReporter = sal_True;
break;
case EXCEPTION_FLT_DIVIDE_BY_ZERO:
Info.Signal = osl_Signal_FloatDivideByZero;
bRaiseCrashReporter = sal_True;
break;
case EXCEPTION_BREAKPOINT:
@@ -257,21 +135,13 @@ static long WINAPI SignalHandlerFunction(LPEXCEPTION_POINTERS lpEP)
default:
Info.Signal = osl_Signal_System;
bRaiseCrashReporter = sal_True;
break;
}
if ( !bNested )
{
bNested = sal_True;
if ( bRaiseCrashReporter && ReportCrash( lpEP ) )
{
CallSignalHandler(&Info);
Action = osl_Signal_ActKillApp;
}
else
Action = CallSignalHandler(&Info);
Action = CallSignalHandler(&Info);
}
else
Action = osl_Signal_ActKillApp;

View File

@@ -17,7 +17,6 @@ $(eval $(call gb_AutoInstall_add_module,base_brand,,LIBO_EXECUTABLE))
$(eval $(call gb_AutoInstall_add_module,brand,,LIBO_EXECUTABLE))
$(eval $(call gb_AutoInstall_add_module,calc,LIBO_LIB_FILE))
$(eval $(call gb_AutoInstall_add_module,calc_brand,,LIBO_EXECUTABLE))
$(eval $(call gb_AutoInstall_add_module,crashrep,,LIBO_EXECUTABLE))
$(eval $(call gb_AutoInstall_add_module,draw_brand,,LIBO_EXECUTABLE))
$(eval $(call gb_AutoInstall_add_module,extensions_ct2n,,,,))
$(eval $(call gb_AutoInstall_add_module,extensions_bsh,,,LIBO_JAR_FILE))

View File

@@ -1,20 +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/.
#
$(eval $(call gb_InstallModule_InstallModule,scp2/crashrep))
$(eval $(call gb_InstallModule_use_auto_install_libs,scp2/crashrep,\
crashrep \
))
$(eval $(call gb_InstallModule_add_scpfiles,scp2/crashrep,\
scp2/source/crashrep/file_crashrep \
))
# vim: set shiftwidth=4 tabstop=4 noexpandtab:

View File

@@ -30,9 +30,6 @@ $(eval $(call gb_InstallScript_use_modules,setup_osl,\
scp2/winexplorerext \
) \
) \
$(if $(filter TRUE,$(ENABLE_CRASHDUMP)),\
scp2/crashrep \
) \
$(if $(WITH_EXTENSION_INTEGRATION),\
scp2/extensions \
) \

View File

@@ -39,9 +39,6 @@ $(eval $(call gb_Module_add_targets,scp2,\
InstallModule_winexplorerext \
) \
) \
$(if $(filter TRUE,$(ENABLE_CRASHDUMP)),\
InstallModule_crashrep \
) \
$(if $(filter TRUE,$(ENABLE_EVOAB2) $(ENABLE_GCONF) $(ENABLE_GNOMEVFS) $(ENABLE_GIO) $(ENABLE_GTK) $(ENABLE_GTK3)),\
InstallModule_gnome \
) \

View File

@@ -1,32 +0,0 @@
/*
* 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 "macros.inc"
// crashreporter files
#ifdef WNT
File gid_Brand_File_Lib_Dbghelp
LIB_FILE_BODY;
Name = "dbghelp.dll";
Dir = gid_Brand_Dir_Program;
Styles = (PACKED);
End
#endif

View File

@@ -28,7 +28,6 @@
#include "macros.inc"
#include "AutoInstall/brand"
#include "AutoInstall/crashrep"
#include "config_folders.h"
@@ -54,9 +53,7 @@ Module gid_Module_Root_Brand
gid_Brand_Dir_Share_Labels,
gid_Brand_Dir_Share_Registry,
gid_Brand_Dir_Share_Xdg);
Files = (auto_crashrep_ALL,
auto_brand_ALL,
gid_Brand_File_Bin_Crashreport_Script,
Files = (auto_brand_ALL,
gid_Brand_File_Gdb_Trace,
gid_Brand_File_Bin_Soffice,
gid_Brand_File_Bin_Soffice_Bin_Manifest,