Re: OAUTH2 Dilemma

Dennis Putnam <[email protected]> Thu, 5 May 2022 10:43:39 -0400
Newsgroups gmane.mail.fetchmail.user
Message-ID <[email protected]>
On 5/4/2022 5:02 PM, Matthias Andree wrote:
> Am 02.05.22 um 20:34 schrieb Dennis Putnam:
>> On 3/27/2022 7:42 AM, Matthias Andree wrote:
>>> Am 26.03.22 um 21:20 schrieb Dennis Putnam:
>>>> It appears Fetchmail 7 requires TLS 1.3. I am running CentOS 7 and the
>>>> support folks tell me that RedHat does not intend to add TLS 1.3 to
>>>> CentOS. I wonder if it will be added to RHEL? Anyway, that means I am
>>>> stuck using Fetchmail 6 for the foreseeable future. Before I go to the
>>>> trouble, do the OAUTH2 patches for Fetchmail 6 also require TLS 1.3?
>>>> TIA.
>>>>
>>> Dennis,
>>>
>>> that's a bit of a letdown although I understand that in a stable CentOS
>>> 7 series they don't want major changes, and TLS v1.3 in itself is one,
>>> so you are stuck between a rock and a hard place... but you can work
>>> yourself out of this.
>>>
>>> You can install the latest OpenSSL 3.0.x to a separate directory,
>>> WARNING UNTESTED because I do not have CentOS 7,
>>> but somewhere along the lines of but maybe needs tweaking:
>>> unpack OpenSSL 3.0.x, then
>>> ./config --prefix /opt/openssl3 --openssldir=/usr/lib64
>>> -Wl,-rpath=/opt/openssl3/lib
>>> -- and then point your fetchmail 7 alpha build there to use it, with
>>> ./configure --with-ssl=/opt/openssl3
>>>
>>> The additional burden on you will then be to watch future OpenSSL 3.0.x
>>> releases and upgrade your /opt/openssl3 should security fixes become
>>> necessary in some future OpenSSL version, so take notes of what worked
>>> for you if you had to tweak things.
>>>
>>> Hope that helps.
>>> Matthias
>>>
>> Hi Matthias,
>>
>> I am now getting back to this project. Now that OpenSSL 3 is installed
>> (/opt/openssl3) I ran configure as you specified. When I run make, I
>> am getting this:
>>
>> make  all-recursive
>> make[1]: Entering directory `/home/dap/Downloads/fetchmail-7.0.0-alpha9'
>> Making all in .
>> make[2]: Entering directory `/home/dap/Downloads/fetchmail-7.0.0-alpha9'
>> depbase=`echo socket.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT socket.o -MD -MP
>> -MF $depbase.Tpo -c -o socket.o socket.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> socket.c: In function ‘SSLOpen’:
>> socket.c:997:3: warning: implicit declaration of function
>> ‘SSL_load_error_strings’; did you mean ‘ERR_lib_error_string’?
>> [-Wimplicit-function-declaration]
>>    SSL_load_error_strings();
>>    ^~~~~~~~~~~~~~~~~~~~~~
>>    ERR_lib_error_string
>> socket.c:998:3: warning: implicit declaration of function
>> ‘SSL_library_init’; did you mean ‘SSL_in_init’?
>> [-Wimplicit-function-declaration]
>>    SSL_library_init();
>>    ^~~~~~~~~~~~~~~~
>>    SSL_in_init
>> socket.c:999:3: warning: implicit declaration of function
>> ‘OpenSSL_add_all_algorithms’; did you mean ‘OBJ_id_tc26_algorithms’?
>> [-Wimplicit-function-declaration]
>>    OpenSSL_add_all_algorithms(); /* see Debian Bug#576430 and manpage */
>>    ^~~~~~~~~~~~~~~~~~~~~~~~~~
>>    OBJ_id_tc26_algorithms
>> socket.c:1000:21: warning: implicit declaration of function ‘SSLeay’;
>> did you mean ‘SSLerr’? [-Wimplicit-function-declaration]
>>    ssl_lib_version = SSLeay();
>>                      ^~~~~~
>>                      SSLerr
>> depbase=`echo getpass.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT getpass.o -MD -MP
>> -MF $depbase.Tpo -c -o getpass.o getpass.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo fetchmail.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT fetchmail.o -MD
>> -MP -MF $depbase.Tpo -c -o fetchmail.o fetchmail.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo env.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT env.o -MD -MP -MF
>> $depbase.Tpo -c -o env.o env.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo idle.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT idle.o -MD -MP
>> -MF $depbase.Tpo -c -o idle.o idle.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo options.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT options.o -MD -MP
>> -MF $depbase.Tpo -c -o options.o options.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo daemon.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT daemon.o -MD -MP
>> -MF $depbase.Tpo -c -o daemon.o daemon.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo driver.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT driver.o -MD -MP
>> -MF $depbase.Tpo -c -o driver.o driver.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo transact.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT transact.o -MD
>> -MP -MF $depbase.Tpo -c -o transact.o transact.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo sink.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT sink.o -MD -MP
>> -MF $depbase.Tpo -c -o sink.o sink.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo smtp.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT smtp.o -MD -MP
>> -MF $depbase.Tpo -c -o smtp.o smtp.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo idlist.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT idlist.o -MD -MP
>> -MF $depbase.Tpo -c -o idlist.o idlist.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo uid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT uid.o -MD -MP -MF
>> $depbase.Tpo -c -o uid.o uid.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo md5ify.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT md5ify.o -MD -MP
>> -MF $depbase.Tpo -c -o md5ify.o md5ify.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo cram.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT cram.o -MD -MP
>> -MF $depbase.Tpo -c -o cram.o cram.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo gssapi.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT gssapi.o -MD -MP
>> -MF $depbase.Tpo -c -o gssapi.o gssapi.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo oauth2.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT oauth2.o -MD -MP
>> -MF $depbase.Tpo -c -o oauth2.o oauth2.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo opie.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT opie.o -MD -MP
>> -MF $depbase.Tpo -c -o opie.o opie.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo interface.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT interface.o -MD
>> -MP -MF $depbase.Tpo -c -o interface.o interface.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo netrc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT netrc.o -MD -MP
>> -MF $depbase.Tpo -c -o netrc.o netrc.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo unmime.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT unmime.o -MD -MP
>> -MF $depbase.Tpo -c -o unmime.o unmime.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo conf.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT conf.o -MD -MP
>> -MF $depbase.Tpo -c -o conf.o conf.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo checkalias.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT checkalias.o -MD
>> -MP -MF $depbase.Tpo -c -o checkalias.o checkalias.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo uid_db.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT uid_db.o -MD -MP
>> -MF $depbase.Tpo -c -o uid_db.o uid_db.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo lock.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT lock.o -MD -MP
>> -MF $depbase.Tpo -c -o lock.o lock.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo rcfile_l.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT rcfile_l.o -MD
>> -MP -MF $depbase.Tpo -c -o rcfile_l.o rcfile_l.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo rcfile_y.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT rcfile_y.o -MD
>> -MP -MF $depbase.Tpo -c -o rcfile_y.o rcfile_y.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo ucs/norm_charmap.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT
>> ucs/norm_charmap.o -MD -MP -MF $depbase.Tpo -c -o ucs/norm_charmap.o
>> ucs/norm_charmap.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo fm_realpath.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT fm_realpath.o -MD
>> -MP -MF $depbase.Tpo -c -o fm_realpath.o fm_realpath.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo pop3.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT pop3.o -MD -MP
>> -MF $depbase.Tpo -c -o pop3.o pop3.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo imap.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT imap.o -MD -MP
>> -MF $depbase.Tpo -c -o imap.o imap.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo etrn.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT etrn.o -MD -MP
>> -MF $depbase.Tpo -c -o etrn.o etrn.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo odmr.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT odmr.o -MD -MP
>> -MF $depbase.Tpo -c -o odmr.o odmr.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo xmalloc.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT xmalloc.o -MD -MP
>> -MF $depbase.Tpo -c -o xmalloc.o xmalloc.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo base64.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT base64.o -MD -MP
>> -MF $depbase.Tpo -c -o base64.o base64.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo rfc822.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT rfc822.o -MD -MP
>> -MF $depbase.Tpo -c -o rfc822.o rfc822.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo report.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT report.o -MD -MP
>> -MF $depbase.Tpo -c -o report.o report.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo rfc2047e.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT rfc2047e.o -MD
>> -MP -MF $depbase.Tpo -c -o rfc2047e.o rfc2047e.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo servport.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT servport.o -MD
>> -MP -MF $depbase.Tpo -c -o servport.o servport.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo smbdes.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT smbdes.o -MD -MP
>> -MF $depbase.Tpo -c -o smbdes.o smbdes.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo smbencrypt.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT smbencrypt.o -MD
>> -MP -MF $depbase.Tpo -c -o smbencrypt.o smbencrypt.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo smbmd4.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT smbmd4.o -MD -MP
>> -MF $depbase.Tpo -c -o smbmd4.o smbmd4.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo smbutil.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT smbutil.o -MD -MP
>> -MF $depbase.Tpo -c -o smbutil.o smbutil.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo fm_getaddrinfo.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT fm_getaddrinfo.o
>> -MD -MP -MF $depbase.Tpo -c -o fm_getaddrinfo.o fm_getaddrinfo.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo starttls.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT starttls.o -MD
>> -MP -MF $depbase.Tpo -c -o starttls.o starttls.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo rfc822valid.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT rfc822valid.o -MD
>> -MP -MF $depbase.Tpo -c -o rfc822valid.o rfc822valid.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo sdump.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT sdump.o -MD -MP
>> -MF $depbase.Tpo -c -o sdump.o sdump.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo x509_name_match.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT x509_name_match.o
>> -MD -MP -MF $depbase.Tpo -c -o x509_name_match.o x509_name_match.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo md5c.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT md5c.o -MD -MP
>> -MF $depbase.Tpo -c -o md5c.o md5c.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo tls-aux.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT tls-aux.o -MD -MP
>> -MF $depbase.Tpo -c -o tls-aux.o tls-aux.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> rm -f libfm.a
>> ar cru libfm.a xmalloc.o base64.o rfc822.o report.o rfc2047e.o
>> servport.o smbdes.o smbencrypt.o smbmd4.o smbutil.o fm_getaddrinfo.o
>> starttls.o rfc822valid.o sdump.o x509_name_match.o md5c.o tls-aux.o
>> ranlib libfm.a
>> depbase=`echo strlcpy.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT strlcpy.o -MD -MP
>> -MF $depbase.Tpo -c -o strlcpy.o strlcpy.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> depbase=`echo strlcat.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
>> gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/local/share/locale\" -I. -g -O2
>> -I/opt/openssl3/include -I/usr/kerberos/include  -MT strlcat.o -MD -MP
>> -MF $depbase.Tpo -c -o strlcat.o strlcat.c &&\
>> mv -f $depbase.Tpo $depbase.Po
>> gcc  -g -O2 -I/opt/openssl3/include -I/usr/kerberos/include
>> -L/opt/openssl3/lib -L/opt/openssl3/lib -o fetchmail socket.o
>> getpass.o fetchmail.o env.o idle.o options.o daemon.o driver.o
>> transact.o sink.o smtp.o idlist.o uid.o md5ify.o cram.o gssapi.o
>> oauth2.o opie.o interface.o netrc.o unmime.o conf.o checkalias.o
>> uid_db.o lock.o rcfile_l.o rcfile_y.o ucs/norm_charmap.o fm_realpath.o
>> pop3.o imap.o etrn.o odmr.o   libfm.a  strlcpy.o strlcat.o -lresolv
>> -lcrypto -lssl  -lssl -lcrypto
>> fetchmail.o: In function `main':
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/fetchmail.c:451: undefined
>> reference to `OpenSSL_version'
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/fetchmail.c:451: undefined
>> reference to `OpenSSL_version_num'
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/fetchmail.c:455: undefined
>> reference to `OpenSSL_version'
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/fetchmail.c:455: undefined
>> reference to `OpenSSL_version'
>> socket.o: In function `SSL_verify_callback':
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/socket.c:729: undefined
>> reference to `OPENSSL_sk_num'
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/socket.c:730: undefined
>> reference to `OPENSSL_sk_value'
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/socket.c:742: undefined
>> reference to `OPENSSL_sk_free'
>> socket.o: In function `OSSL_proto_version_logic':
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/socket.c:911: undefined
>> reference to `TLS_client_method'
>> socket.o: In function `SSLOpen':
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/socket.c:1072: undefined
>> reference to `SSL_CTX_set_options'
>> /home/dap/Downloads/fetchmail-7.0.0-alpha9/socket.c:999: undefined
>> reference to `OpenSSL_add_all_algorithms'
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [fetchmail] Error 1
>> make[2]: Leaving directory `/home/dap/Downloads/fetchmail-7.0.0-alpha9'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory `/home/dap/Downloads/fetchmail-7.0.0-alpha9'
>> make: *** [all] Error 2
>>
>>
>> Looks like I am missing some arguments for either configure or make.
>
> Hi Dennis,
>
> you are not missing arguments, but you do need newer fetchmail source
> files, and that currently means cloning from Git. Alpha 9 contained some
> bugs that show in some configurations, and that have been fixed on the
> "next" branch in the Git repositories since then, and I don't think I
> will roll other alpha tarballs. Tarballs will likely only happen for
> betas or release candidates later on (and releases of course). You do
> not want to wait for that if you want OAuth 2 now.
>
> For that, you would need to install git, automake, autoconf, flex,
> bison, m4, gettext, and clone from Git instead of downloading a tarball.
>
> The first-time clone takes a little time to download some 10...20 MB (I
> don't know how efficiently GitLab or SourceForge packed the repos),
> future updates only fetch a few new commits then and are quick. See
> https://gitlab.com/fetchmail/fetchmail/-/blob/next/README.git for
> repository addresses.
>
> Reason is there have been too many changes since alpha9, and offering
> alpha tarballs is currently uneconomical on each and every aspect, and I
> do not want to encourage one-off builds of an alpha branch that then
> rots. And the socket.c source file alone has a dozen or so changesets
> that are relevant to OpenSSL use.
>
>
> Development targets recent releases of major Linux or BSD distributions
> such as Fedora Linux, Debian Linux, FreeBSD and maybe derivatives.
> Long-Term-Support releases may be too old unless released recently.
> Up-to-date rolling releases such as Gentoo or Arch Linux or openSUSE's
> rolling release branch should be good, too. Every once in a blue moon I
> also try OpenIllumos Hipster and OpenBSD, but that usually happens
> closer to release or if somebody points me to an issue. Alpha versions
> of fetchmail are irrelevant to past releases of distributions, so I can
> take the liberty of expecting the latest distro releases.
>
>
> In order to avoid further accidents, I have removed most alphas except
> for the more than 10-year-old alpha2+MAPI that carried a failed MAPI
> attempt from a Google Summer of Code project ages ago. It is unusable
> but I wanted this museum as a warning what happens when neither the
> mentor nor the GSoC student (mentee) communicate properly with the
> upstream and the changes need integration and testing.­
>
> Regards,
> Matthias
>
>
Hi Matthias,

Thanks but it looks like the documentation has the wrong URLs.

$ git clone https://gitlab.com/fetchmail/fetchmail/
Cloning into 'fetchmail'...
error: RPC failed; result=22, HTTP code = 422
fatal: The remote end hung up unexpectedly

and

$ git clone https://sourceforge.net/p/fetchmail/git/ci/next/tree/
Cloning into 'tree'...
fatal: repository 
'https://sourceforge.net/p/fetchmail/git/ci/next/tree/' not found

_______________________________________________
Fetchmail-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fetchmail-users
OpenPGP_signature (application/pgp-signature, 203 B) - not displayed