[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