<div dir="ltr"><div>I made some investigations in our toolchain and code according to Your answers.</div><div><br></div><div>I have found out, that the OpenSSL 1.0.2p was patched on some places in our system, e.g. the definitions for socket usage in e_os.h.</div><div>I have also checked our toolchain, and compile results: I am sure, that we don't use the headers with 1.0.2p. Somehow our changes and configuration does not need the headers for th 1.0.2p.</div><div dir="ltr"><br></div><div>We work now on two ways to solve our problem. One is to leave the 1.1.1d unchanged, and try to make own headers from the Linux headers.</div><div>The other is to take the patches from 1.0.2p, and try out if they work for the 1.1.1d</div><div>Probably a mix of both will be the working solution.</div><div dir="ltr"><br></div><div dir="ltr">> > The programmer, who changed the code, probably had an idea about that.<br>
<br>> Which programmer who changed which code? <br></div><div>I have seen, that there are new source files in the new version, like s_socket.c, and that header files are greatly modified. I also found following in the release notes:</div><div><p style="margin:0px 0px 1.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-family:"PT Serif",Georgia,Times,"Times New Roman",serif;vertical-align:baseline;background-color:rgb(248,248,248)">Rewrite of BIO networking library. The BIO library lacked consistent support of IPv6, and adding it required some more extensive modifications. This introduces the BIO_ADDR and BIO_ADDRINFO types, which hold all types of addresses and chains of address information. It also introduces a new API, with functions like BIO_socket, BIO_connect, BIO_listen, BIO_lookup and a rewrite of BIO_accept. The source/sink BIOs BIO_s_connect, BIO_s_accept and BIO_s_datagram have been adapted accordingly.</p><p style="margin:0px 0px 1.5em;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-family:"PT Serif",Georgia,Times,"Times New Roman",serif;vertical-align:baseline;background-color:rgb(248,248,248)"><em style="margin:0px;padding:0px;border:0px;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:inherit;vertical-align:baseline">Richard Levitte</em></p></div><div>Because of these, I had the assumption, that the sockets implementation was refactored, and needs now new headers. As You both wrote, I was wrong with the headers.</div><div dir="ltr"><br></div><div>Thanks for Your help!</div><div>Best regards,</div><div>Balazs</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Michael Wojcik <<a href="mailto:Michael.Wojcik@microfocus.com">Michael.Wojcik@microfocus.com</a>> ezt írta (időpont: 2020. márc. 31., K, 15:26):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> From: openssl-users <<a href="mailto:openssl-users-bounces@openssl.org" target="_blank">openssl-users-bounces@openssl.org</a>> on behalf of Balázs Horváth <<a href="mailto:balazs.horvath.email@gmail.com" target="_blank">balazs.horvath.email@gmail.com</a>><br>
> Sent: Tuesday, March 31, 2020 04:56<br>
<br>
> Our problem is, that the OpenSSL V1.1.1d needs includes, that are nonexistent for MIPS in our<br>
> development system.<br>
<br>
You mean "that don't exist for the OS we're running on MIPS". Headers belong to the toolchain and OS, not to the processor family. If you were targeting Linux on MIPS rather than some other OS (which you haven't named, so if there's anyone on the list who has also used it, you haven't given them enough information to help), you would have all of those headers.<br>
<br>
In short, your problem *has nothing to do with MIPS*. It has to do with your target OS.<br>
<br>
> These headers were not needed for 1.0.2.<br>
<br>
Ah, but they were, as Pauli pointed out in another email. On POSIX and POSIX-like platforms, OpenSSL has always used the sockets API, and those are headers typically required for sockets on POSIX. There was some other difference about how you were building 1.0.2.<br>
<br>
> My question is not a 100% OpenSSL question. But I think, as OpenSSL is widely used on<br>
> non-Linux/Windows/… systems, the question is legitime to ask, what to use on special<br>
> systems?<br>
<br>
The headers used to build OpenSSL on a given platform are whatever the Configure process enables. If your target OS has a Configure target, then that's what you have to configure OpenSSL's build process for, *before* trying to build it. If your target OS does not have a target in the stock OpenSSL Configure script, then you're targeting an unsupported platform, and it's up to you to port OpenSSL to it; that includes figuring out what headers are needed.<br>
<br>
> Or why are these headers needed now?<br>
<br>
You haven't configured the OpenSSL build for the correct target.<br>
<br>
> The programmer, who changed the code, probably had an idea about that.<br>
<br>
Which programmer who changed which code?<br>
</blockquote></div></div>