Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
podofo.34526
r1600-Get-PoDoFo-build-under-Visual-Studio-2008...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File r1600-Get-PoDoFo-build-under-Visual-Studio-2008.patch of Package podofo.34526
------------------------------------------------------------------------ r1600 | aja_ | 2014-05-25 00:05:23 +0200 (dom, 25 may 2014) | 21 lines ADDED: Patch by Ulrich Arnold: Get PoDoFo build under Visual Studio 2008 (Windows build, OpenSSL optional) - PdfEncrypt.cpp: Introduced a new define PODOFO_HAVE_OPENSSL. If this is not set, all of the encyption functionality is removed and openssl-lib is not needed. The CreatePdfEncrypt-members throws an exception in this case, the same as GetMD5String - PdfExtension.h: Return type of getLevel changed to pdf_int64, as the member variable is also pdf_int64 - PdfFiltersPrivate.cpp: VS2008 spits on #pragma GCC, therefore removed with #ifndef _MSC_VER - PdfIdentityEncoding.h/cpp: Argument of GetUnicodeValue und return of GetCIDValue changed from long to pdf_utf16be - PdfImage.cpp: Included PdfFiltersPrivate.h, this eliminates the manual declaration of jpeg_memory_src. In LoadFromJpegData jpeg_memory_src is used instead of jpeg_mem_src, to be independend of new API-function introduced in Jpeg9-library - PdfSigIncMemDocument.cpp: Removed collision between windows and jpeg-headers - PdfSigIncSignatureField.cpp: Was implicitly dependend on Jpeg-library. Now if PODOF_HAVE_JPEG is not defined, NULL will be returned as image Index: CMakeLists.txt =================================================================== --- CMakeLists.txt.orig +++ CMakeLists.txt @@ -309,8 +309,14 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX) FIND_PACKAGE(ZLIB REQUIRED) MESSAGE("Found zlib headers in ${ZLIB_INCLUDE_DIR}, library at ${ZLIB_LIBRARIES}") -FIND_PACKAGE(LIBCRYPTO REQUIRED) -MESSAGE("Found OpenSSL's libCrypto headers in ${LIBCRYPTO_INCLUDE_DIR}, library at ${LIBCRYPTO_LIBRARIES}") +FIND_PACKAGE(LIBCRYPTO) + +IF(LIBCRYPTO_FOUND) + SET(PODOFO_HAVE_OPENSSL TRUE) + MESSAGE("Found OpenSSL's libCrypto headers in ${LIBCRYPTO_INCLUDE_DIR}, library at ${LIBCRYPTO_LIBRARIES}") +ELSE(LIBCRYPTO_FOUND) + MESSAGE("OpenSSL's libCrypto not found. Encryption support will be disabled") +ENDIF(LIBCRYPTO_FOUND) FIND_PACKAGE(LIBIDN) Index: podofo_config.h.in =================================================================== --- podofo_config.h.in.orig +++ podofo_config.h.in @@ -47,6 +47,7 @@ #cmakedefine PODOFO_HAVE_LUA #cmakedefine PODOFO_HAVE_BOOST #cmakedefine PODOFO_HAVE_CPPUNIT +#cmakedefine PODOFO_HAVE_OPENSSL #cmakedefine PODOFO_HAVE_LIBIDN /* Platform quirks */ Index: src/base/PdfEncrypt.cpp =================================================================== --- src/base/PdfEncrypt.cpp.orig +++ src/base/PdfEncrypt.cpp @@ -33,6 +33,7 @@ #include <string.h> #include <sstream> +#ifdef PODOFO_HAVE_OPENSSL // SHA-256 #ifdef PODOFO_HAVE_LIBIDN // AES-256 dependencies : @@ -43,6 +44,7 @@ #include <openssl/md5.h> #include <openssl/evp.h> +#endif //PODOFO_HAVE_OPENSSL namespace { @@ -65,6 +67,7 @@ ePdfEncryptAlgorithm_RC4V2 | ePdfEncryptAlgorithm_AESV2; #endif // PODOFO_HAVE_LIBIDN +#ifdef PODOFO_HAVE_OPENSSL // Default value for P (permissions) = no permission #define PERMS_DEFAULT 0xFFFFF0C0 @@ -1657,4 +1660,40 @@ PdfOutputStream* PdfEncryptAESV3::Create } #endif // PODOFO_HAVE_LIBIDN +#else // PODOFO_HAVE_OPENSSL +PdfEncrypt * +PdfEncrypt::CreatePdfEncrypt( const std::string & userPassword, + const std::string & ownerPassword, + int protection, + EPdfEncryptAlgorithm eAlgorithm, + EPdfKeyLength eKeyLength ) +{ + PODOFO_RAISE_ERROR_INFO( ePdfError_NotCompiled, "PdfEncrypt::CreatePdfEncrypt: Encryption support was disabled during compile time" ); + return NULL; +} + +PdfEncrypt* PdfEncrypt::CreatePdfEncrypt( const PdfObject* pObject ) +{ + PODOFO_RAISE_ERROR_INFO( ePdfError_NotCompiled, "PdfEncrypt::CreatePdfEncrypt: Encryption support was disabled during compile time" ); + return NULL; +} + +PdfEncrypt * +PdfEncrypt::CreatePdfEncrypt(const PdfEncrypt & rhs ) +{ + PODOFO_RAISE_ERROR_INFO( ePdfError_NotCompiled, "PdfEncrypt::CreatePdfEncrypt: Encryption support was disabled during compile time" ); + return NULL; +} + +PdfEncrypt::~PdfEncrypt() +{ +} + +PdfString PdfEncryptMD5Base::GetMD5String( const unsigned char* pBuffer, int nLength ) +{ + PODOFO_RAISE_ERROR_INFO( ePdfError_NotCompiled, "PdfEncryptMD5Base::GetMD5String: Encryption support was disabled during compile time" ); + return PdfString(); +} + +#endif // PODOFO_HAVE_OPENSSL } Index: src/base/PdfError.cpp =================================================================== --- src/base/PdfError.cpp.orig +++ src/base/PdfError.cpp @@ -321,6 +321,9 @@ const char* PdfError::ErrorName( EPdfErr case ePdfError_NotImplemented: pszMsg = "ePdfError_NotImplemented"; break; + case ePdfError_NotCompiled: + pszMsg = "ePdfError_NotCompiled"; + break; case ePdfError_DestinationAlreadyPresent: pszMsg = "ePdfError_DestinationAlreadyPresent"; break; @@ -460,6 +463,9 @@ const char* PdfError::ErrorMessage( EPdf case ePdfError_NotImplemented: pszMsg = "This feature is currently not implemented."; break; + case ePdfError_NotCompiled: + pszMsg = "This feature was disabled during compile time."; + break; case ePdfError_Unknown: pszMsg = "Error code unknown."; break; Index: src/base/PdfError.h =================================================================== --- src/base/PdfError.h.orig +++ src/base/PdfError.h @@ -108,6 +108,8 @@ enum EPdfError { ePdfError_DestinationAlreadyPresent,/**< An destination was already present when trying to add a Action */ ePdfError_ChangeOnImmutable, /**< Changing values on immutable objects is not allowed. */ + ePdfError_NotCompiled, /**< This feature was disabled during compile time. */ + ePdfError_Unknown = 0xffff /**< Unknown error */ }; Index: src/base/PdfFiltersPrivate.cpp =================================================================== --- src/base/PdfFiltersPrivate.cpp.orig +++ src/base/PdfFiltersPrivate.cpp @@ -1152,8 +1152,10 @@ void PdfCCITTFilter::EndEncodeImpl() PODOFO_RAISE_ERROR( ePdfError_UnsupportedFilter ); } +#ifndef _MSC_VER #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" +#endif void PdfCCITTFilter::BeginDecodeImpl( const PdfDictionary* pDict ) { #ifdef DS_CCITT_DEVELOPMENT_CODE @@ -1210,7 +1212,9 @@ void PdfCCITTFilter::BeginDecodeImpl( co } +#ifndef _MSC_VER #pragma GCC diagnostic pop +#endif void PdfCCITTFilter::DecodeBlockImpl( const char*, pdf_long ) { Index: src/doc/PdfImage.cpp =================================================================== --- src/doc/PdfImage.cpp.orig +++ src/doc/PdfImage.cpp @@ -24,6 +24,7 @@ #include "base/PdfColor.h" #include "base/PdfStream.h" +#include "base/PdfFiltersPrivate.h" #include <stdio.h> #include <wchar.h> @@ -229,10 +230,6 @@ void PdfImage::LoadFromFile( const char* } #ifdef PODOFO_HAVE_JPEG_LIB -#if !defined(PODOFO_JPEG_RUNTIME_COMPATIBLE) -void jpeg_memory_src (j_decompress_ptr cinfo, const JOCTET * buffer, size_t bufsize); -#endif // PODOFO_JPEG_RUNTIME_COMPATIBLE - extern "C" { static void JPegErrorExit(j_common_ptr cinfo) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor