Re: [fpc-pascal] Dependency of OpenSSL 1.0.2 still in FPC 3.2.0 on some platforms?

2021-05-17 Thread Michael Van Canneyt via fpc-pascal



On Mon, 17 May 2021, Travis Siegel via fpc-pascal wrote:

The -dev part of the package is necessary for the headers used for 
compiling, any target system running the finished product will not 
require the -dev version of the packages to be installed, since they 
won't be using the header files directly.


This is not correct for synapse. The name of the library that synapse loads
(it loads dynamically) is the dev name (.so), without version number.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Dependency of OpenSSL 1.0.2 still in FPC 3.2.0 on some platforms?

2021-05-17 Thread Travis Siegel via fpc-pascal
The -dev part of the package is necessary for the headers used for 
compiling, any target system running the finished product will not 
require the -dev version of the packages to be installed, since they 
won't be using the header files directly.



On 5/17/2021 6:20 PM, Bo Berglund via fpc-pascal wrote:

On Mon, 17 May 2021 23:20:16 +0200, gebylist via fpc-pascal
 wrote:


?Dne 17.05.2021 v 22:06 Bo Berglund via fpc-pascal napsal(a):

And that is what I have done, it is listed in uses of my mailsupport source file
as:
uses
Classes,
SysUtils,
smtpsend,
ssl_openssl, //<= Here
synautil,
mimemess,
mimepart;

Yet it is "not compiled"...

Very confusing.


It is because loading of ssl_openssl plugin failed. Have you installed
OpenSSL libraries on your RPi?

How is that done?
Is not openssl part of the Debian and derivatives Linux distros?

Well, I Googled and found a suggested remedy:
sudo apt install libssl-dev

After this was done I ran the exact same code in Lazarus debugger and this time
it got through and the emails were delivered!


Check function |InitSSLinterface in ssl_openssl_lib unit. I personally
never test ssl_openssl on RPi, maybe some error is here.|


Follow-on question:
Do I have to install dev packages like this on the  target system as well (one
where the application is not going to be built on?

Or is it only needed to be on the *development* system?



___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Dependency of OpenSSL 1.0.2 still in FPC 3.2.0 on some platforms?

2021-05-17 Thread Michael Van Canneyt via fpc-pascal



On Tue, 18 May 2021, Bo Berglund via fpc-pascal wrote:


On Mon, 17 May 2021 23:20:16 +0200, gebylist via fpc-pascal
 wrote:


?Dne 17.05.2021 v 22:06 Bo Berglund via fpc-pascal napsal(a):


And that is what I have done, it is listed in uses of my mailsupport source file
as:
uses
   Classes,
   SysUtils,
   smtpsend,
   ssl_openssl, //<= Here
   synautil,
   mimemess,
   mimepart;

Yet it is "not compiled"...

Very confusing.

It is because loading of ssl_openssl plugin failed. Have you installed 
OpenSSL libraries on your RPi?


How is that done?
Is not openssl part of the Debian and derivatives Linux distros?

Well, I Googled and found a suggested remedy:
sudo apt install libssl-dev

After this was done I ran the exact same code in Lazarus debugger and this time
it got through and the emails were delivered!

Check function |InitSSLinterface in ssl_openssl_lib unit. I personally 
never test ssl_openssl on RPi, maybe some error is here.|




Follow-on question:
Do I have to install dev packages like this on the  target system as well (one
where the application is not going to be built on?

Or is it only needed to be on the *development* system?


It is always needed.

Basically, this package installs a symlink from libssl.so to libssl.so.x.y.z;
you can make this symlink yourself if you prefer.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Dependency of OpenSSL 1.0.2 still in FPC 3.2.0 on some platforms?

2021-05-17 Thread Bo Berglund via fpc-pascal
On Mon, 17 May 2021 23:20:16 +0200, gebylist via fpc-pascal
 wrote:

>?Dne 17.05.2021 v 22:06 Bo Berglund via fpc-pascal napsal(a):
>>
>> And that is what I have done, it is listed in uses of my mailsupport source 
>> file
>> as:
>> uses
>>Classes,
>>SysUtils,
>>smtpsend,
>>ssl_openssl, //<= Here
>>synautil,
>>mimemess,
>>mimepart;
>>
>> Yet it is "not compiled"...
>>
>> Very confusing.
>>
>It is because loading of ssl_openssl plugin failed. Have you installed 
>OpenSSL libraries on your RPi?

How is that done?
Is not openssl part of the Debian and derivatives Linux distros?

Well, I Googled and found a suggested remedy:
sudo apt install libssl-dev

After this was done I ran the exact same code in Lazarus debugger and this time
it got through and the emails were delivered!

>Check function |InitSSLinterface in ssl_openssl_lib unit. I personally 
>never test ssl_openssl on RPi, maybe some error is here.|
>

Follow-on question:
Do I have to install dev packages like this on the  target system as well (one
where the application is not going to be built on?

Or is it only needed to be on the *development* system?


-- 
Bo Berglund
Developer in Sweden

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Dependency of OpenSSL 1.0.2 still in FPC 3.2.0 on some platforms?

2021-05-17 Thread gebylist via fpc-pascal
Dne 17.05.2021 v 22:06 Bo Berglund via fpc-pascal napsal(a):
>
> And that is what I have done, it is listed in uses of my mailsupport source 
> file
> as:
> uses
>Classes,
>SysUtils,
>smtpsend,
>ssl_openssl, //<= Here
>synautil,
>mimemess,
>mimepart;
>
> Yet it is "not compiled"...
>
> Very confusing.
>
It is because loading of ssl_openssl plugin failed. Have you installed 
OpenSSL libraries on your RPi?

Check function |InitSSLinterface in ssl_openssl_lib unit. I personally 
never test ssl_openssl on RPi, maybe some error is here.|

|Lukas.
|

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Dependency of OpenSSL 1.0.2 still in FPC 3.2.0 on some platforms?

2021-05-17 Thread Bo Berglund via fpc-pascal
On Sat, 15 May 2021 09:00:08 +0200 (CEST), Michael Van Canneyt via fpc-pascal
 wrote:

>
>Glad you got it working.
>
>I worked for some time for a mass mailing company. 
>From that experience I assure you that delivering mail is NOT easy.
>
>Meanwhile, there are a lot of safety mechanisms installed on all "big" mail
>platforms, and getting a mail delivered becomes more and more difficult.
>
>Michael.

Well, now I got stuck again...
I did all of my code testing on Windows because that is my normal environment.

When all was done I had created a mailsupport unit encapsulating the stuff I
need for my emailings and I used that in a command line mailer to verify that
everything worked OK.
Which it did on Windows except for some fussy mailservers who would not receive
the emails (my GMail account), but the email was in any case sent.

But then when I moved to Linux (on Raspberry Pi3) I always got errors on mail
send. So no outgoing email.

So I have now finally traced the execution using the Lazarus debugger and it
seems like Synapse does not connect using SSL after all.. :(

I have set it up as well as I have understood the documentation with the smtp
switches for SSL and TLS active (set to true) and the port and user is set as on
Windows (after all I copied the source files over to the Linux box and opened
the project in Lazarus over there). The test emailer has all of the logon etc
info built into the executable (just for testing of course) but failed.

So when I single-step in the code I reach the following location after starting
on SMTP.Connect:

function TSMTPSend.Connect: Boolean;
begin
  FSock.CloseSocket;
  FSock.Bind(FIPInterface, cAnyPort);
  if FSock.LastError = 0 then
FSock.Connect(FTargetHost, FTargetPort);
  if FSock.LastError = 0 then
if FFullSSL then
  FSock.SSLDoConnect;  //<= I get to here
  Result := FSock.LastError = 0;
end;

procedure TTCPBlockSocket.SSLDoConnect;
begin
  ResetLastError;
  if not FSSL.Connect then  //<=This goes to no action
FLastError := WSASYSNOTREADY;
  ExceptCheck;
end;

function TCustomSSL.Connect: boolean; //<= To here!
begin
  ReturnError;
  Result := False;
end;


Then I traced over into the ExceptCheck function:

procedure TBlockSocket.ExceptCheck;
var
  e: ESynapseError;
begin
  FLastErrorDesc := GetErrorDescEx;  // <== HERE
  if (LastError <> 0) and (LastError <> WSAEINPROGRESS)
and (LastError <> WSAEWOULDBLOCK) then
  begin
DoStatus(HR_Error, IntToStr(FLastError) + ',' + FLastErrorDesc);
if FRaiseExcept then
begin
  e := ESynapseError.Create(Format('Synapse TCP/IP Socket error %d: %s',
[FLastError, FLastErrorDesc]));
  e.ErrorCode := FLastError;
  e.ErrorMessage := FLastErrorDesc;
  raise e;
end;
  end;
end;

FLastErrorDesc gets set to "SSL/TLS support is not compiled"

So now I do not know what to do, is this indicating that I need to change some
Synapse config to get it working or is it a platform problem (Linux)???

What could I do in order to make SSL/TLS support "compiled"
In the documentation
 http://www.ararat.cz/synapse/doku.php/public:howto:sslplugin

they write:
First you must explicitly select what plugin you wish to use. You can do it
simply by adding unit with SSL plugin to your project sources. You can add only
one from SSL plugins in one project! When you wish to use OpenSSL, then add
/ssl_openssl/ to your project uses, for example.

And that is what I have done, it is listed in uses of my mailsupport source file
as:
uses
  Classes,
  SysUtils,
  smtpsend,
  ssl_openssl, //<= Here
  synautil,
  mimemess,
  mimepart;

Yet it is "not compiled"...

Very confusing.

-- 
Bo Berglund
Developer in Sweden

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] FTP support gone - switch to HTTP ?

2021-05-17 Thread wkitty42--- via fpc-pascal

On 5/17/21 9:57 AM, Michael Van Canneyt via fpc-pascal wrote:

I know that Firefox will follow suit really soon (if they haven't already).


it has... in version 88.0.0 IIRC...

--
 NOTE: No off-list assistance is given without prior approval.
   *Please keep mailing list traffic on the list where it belongs!*
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] FTP support gone - switch to HTTP ?

2021-05-17 Thread Karoly Balogh via fpc-pascal
Hi,

On Mon, 17 May 2021, Michael Van Canneyt via fpc-pascal wrote:

> I know that Firefox will follow suit really soon (if they haven't already).
> Since Edge now also uses Chromium, they will soon also have this disabled.
>
> This wil surely cause problems for many users.
>
> So I think we should start making the FTP server downloads available through
> HTTP(s)
> instead of FTP. I also think we should do this for 3.2.2.
> (the pages are auto-generated from some base URLS, so this should not be a lot
> of work)

Agreed. This is something I wanted to raise already, but somehow it always
fell between the cracks.

> It should be sufficient to have a virtual host that points
> to the ftp directory of the current FPC's ftp dir.
>
> Charlie, is this an option for you ?

Certainly. See below.

> If you want, I can create a new DNS:
>
> downloads.freepascal.org
>
> which you can then use to set up the virtual host.
> I don't think HTTPS is a necessity, but if you prefer that is also good of
> course...

I think HTTPS is certainly a good practice in 2021, and it's easy to set
up with LetsEncrypt. So that shouldn't be a problem.

> When that is done, the links on the download page can be switched to http(s).

Yes, this is something I wanted to do Real Soon Now(tm). I'd actually keep
FTP enabled, as it doesn't hurt anything and it's still a thing for retro
downloads. But I planned to also offer HTTP and HTTPS.

The problem is, I also wanted to migrate away from the old FTP host
machine in the meantime, as that had disk I/O errors... but I never
finished setting up the new VM. I can attend to this this weekend. Is that
too late for 3.2.2, and we need it earlier? Maybe I can squeeze it in
during the week.

Charlie
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] FTP support gone - switch to HTTP ?

2021-05-17 Thread Michael Van Canneyt via fpc-pascal


Apologies, typed the wrong email alias. 
This was meant to go to the core list.


The problem is real, though... Consider it a heads up :-)

Michael.

On Mon, 17 May 2021, Michael Van Canneyt via fpc-pascal wrote:



Hello,

Mattias Gaertner pointed out that Chrome no longer supports FTP downloads.

I know that Firefox will follow suit really soon (if they haven't already).
Since Edge now also uses Chromium, they will soon also have this disabled.

This wil surely cause problems for many users.

So I think we should start making the FTP server downloads available through 
HTTP(s)
instead of FTP. I also think we should do this for 3.2.2. 
(the pages are auto-generated from some base URLS, so this should not be a 
lot of work)


It should be sufficient to have a virtual host that points
to the ftp directory of the current FPC's ftp dir.

Charlie, is this an option for you ?

If you want, I can create a new DNS:

downloads.freepascal.org

which you can then use to set up the virtual host. 
I don't think HTTPS is a necessity, but if you prefer that is also good of

course...

When that is done, the links on the download page can be switched to http(s).

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


[fpc-pascal] FTP support gone - switch to HTTP ?

2021-05-17 Thread Michael Van Canneyt via fpc-pascal


Hello,

Mattias Gaertner pointed out that Chrome no longer supports FTP downloads.

I know that Firefox will follow suit really soon (if they haven't already).
Since Edge now also uses Chromium, they will soon also have this disabled.

This wil surely cause problems for many users.

So I think we should start making the FTP server downloads available through 
HTTP(s)
instead of FTP. I also think we should do this for 3.2.2. 
(the pages are auto-generated from some base URLS, so this should not be a lot of work)


It should be sufficient to have a virtual host that points
to the ftp directory of the current FPC's ftp dir.

Charlie, is this an option for you ?

If you want, I can create a new DNS:

downloads.freepascal.org

which you can then use to set up the virtual host. 
I don't think HTTPS is a necessity, but if you prefer that is also good of

course...

When that is done, the links on the download page can be switched to http(s).

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal