X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=crypto%2Fo_fopen.c;h=b2eeeac7120cc858e6e6af00ee7d165ec02b6a22;hb=23fed8ba0ec895e1b2a089cae380697f15170afc;hp=1090a0687691989497cced4699f112c84f6cb6da;hpb=cdb10bae3f773401e039c55965eb177a6f3fc160;p=openssl.git diff --git a/crypto/o_fopen.c b/crypto/o_fopen.c index 1090a06876..b2eeeac712 100644 --- a/crypto/o_fopen.c +++ b/crypto/o_fopen.c @@ -1,20 +1,36 @@ /* * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * - * Licensed under the OpenSSL license (the "License"). You may not use + * Licensed under the Apache License 2.0 (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ +# if defined(__linux) || defined(__sun) || defined(__hpux) +/* + * Following definition aliases fopen to fopen64 on above mentioned + * platforms. This makes it possible to open and sequentially access files + * larger than 2GB from 32-bit application. It does not allow to traverse + * them beyond 2GB with fseek/ftell, but on the other hand *no* 32-bit + * platform permits that, not with fseek/ftell. Not to mention that breaking + * 2GB limit for seeking would require surgery to *our* API. But sequential + * access suffices for practical cases when you can run into large files, + * such as fingerprinting, so we can let API alone. For reference, the list + * of 32-bit platforms which allow for sequential access of large files + * without extra "magic" comprise *BSD, Darwin, IRIX... + */ +# ifndef _FILE_OFFSET_BITS +# define _FILE_OFFSET_BITS 64 +# endif +# endif + +#include "e_os.h" #include "internal/cryptlib.h" #if !defined(OPENSSL_NO_STDIO) # include -# ifdef _WIN32 -# include -# endif # ifdef __DJGPP__ # include # endif