[openssl-dev] [PATCH] Some DJGPP specific fixes and improvements for OpenSSL_1_0_2-stable.
Matt Caswell
matt at openssl.org
Mon Jun 5 08:38:26 UTC 2017
Please submit these patches as a github pull request.
Matt
On 04/06/17 01:15, Juan Manuel Guerrero wrote:
> I do not know if patches for DJGPP/FreeDOS are still welcome at all for the
> OpenSSL 1.0.2 branch but if yes, then I would like to propose some fixes
> and
> improvements. No one of the proposed changes have impact on any other
> port.
> The patch is based on openssl-1.0.2-stable-SNAP-20170602. Concerning its
> functionality, the patch is identical to the one proposed some months
> ago for
> the openssl-1.1.0 branch and that has found its way into that branch.
>
> The patch will fix/improve the following issues:
> 1) In Configure:
> For some reason -DTERMIO is set but DJGPP has never offered TERMIO
> making
> the build fail. I have changed this to -DTERMIOS as is used to be.
> 2) In crypto/bio/bss_dgram.c:
> I have removed superfluous macro definitions of sock_write,
> sock_read and
> sock_puts enclosed by WATT32.
> 3) In crypto/bio/bss_sock.c:
> Here the existing macro definitions for sock_write, sock_read and
> sock_puts
> are necessary and must be kept but they must be undefined before
> they can
> be defined. This is because newer versions of Watt-32 also
> redefine them.
> 4) In crypto/conf/conf_def.c:
> If this port is used on MS-DOS or FreeDOS it becomes necessary to
> check if
> the underlying file system supports long file names (aka LFN) or
> not. If
> it does not then file names with a leading dot like ".rnd" or
> ".ca_certs"
> are ilicit. In function def_load_bio, the macros IS_RANDFILE and
> IS_CERT_DIR
> are used to check if the file system offers LFN support so that the
> file
> names with leading dots are licit. If the tests fail then the new
> function
> dosify_filename is called and will substitute invalid characters in
> the file
> name by valid ones before using them. This check and the call of
> dosify_filename
> is enclosed by OPENSSL_SYS_MSDOS.
> 5) In e_os.h:
> In the DJGPP section the macros IS_RANDFILE and IS_CERT_DIR are
> defined.
> Also some auxiliar macros like HAS_LFN_SUPPORT and FILE_EXISTS are
> defined.
> Because neither MS-DOS nor FreeDOS provide 'egd' sockets, the
> DEVRANDOM_EGD
> macro is undefined. This shall inhibit the compilation of code
> that does
> not work on MS-DOS/FreeDOS.
> 6) In util/mklink.pl:
> Neither MS-DOS nor FreeDOS provide symlink support so copy files
> instead.
> 7) In INSTALL.DJGPP:
> Update URL of WATT-32 library.
>
>
> I have checked the modified version of OpenSSL_1_0_2-stable on linux and
> Cygwin.
> They are no issues. This is no surprise because the changes are either
> guarded
> by the __DJGPP__ or OPENSSL_SYS_MSDOS macros.
> If more informaton is required please mail me. Just in case it is
> required, I
> have attached the patch as gzip'ed files too.
>
>
> Regards,
> Juan M. Guerrero
>
>
More information about the openssl-dev
mailing list