Send inn-workers mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.isc.org/mailman/listinfo/inn-workers
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of inn-workers digest..."
Today's Topics:
1. About the development of INN 1.5.1 through 1.8 (2.0) (Julien ?LIE)
2. Re: INN 2.6.0 release candidate (Dennis Preiser)
3. Re: INN 2.6.0 release candidate (Julien ?LIE)
4. Re: INN 2.6.0 release candidate (Dennis Preiser)
5. inn-2.6.0rc1 bug report (David Binderman)
6. Re: INN 2.6.0 release candidate (Julien ?LIE)
7. Re: inn-2.6.0rc1 bug report (Julien ?LIE)
----------------------------------------------------------------------
Message: 1
Date: Fri, 01 May 2015 20:12:49 +0200
From: Julien ?LIE <[email protected]>
To: "[email protected]" <[email protected]>
Subject: About the development of INN 1.5.1 through 1.8 (2.0)
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8; format=flowed
Hi all,
I have a question about our current SVN.
We have tags for INN 1.5.1, INN 2.0, INN 2.1, INN 2.2.1 and all released
versions after 2.2.1.
I think 2.2.0 is revision 1724, according to the tar.gz, so we can
probably add it.
Do we have the 1.x versions in our SVN after 1.5.1? I see in the OLD
section of ftp.isc.org there are 1.7.0, 1.7.1 and 1.7.2 versions after
that one; the other versions seem to be only beta versions (1.5.2pre1
and 1.6.0b1) so maybe INN 1.5.2 and 1.6.0 were never released.
If I look for instance at the 1.7.0 tar.gz, I do not manage to match its
CHANGES file with the changelog in our SVN. Does it mean that there
were two different development branches at that time? One from ISC that
was producing 1.x versions after 1.5.1 and another one in the CVS that
became the current SVN?
It seems that the CVS mentioned 1.8-current (in patchlevel.h) very
quickly after the initial 1.5.1 commit; so I wonder what happened at
that time (the initial commit would have been against 1.7.2 if the 1.8.0
version, renamed 2.0.0, was under development).
If someone has a (quick) bit of history to share, I will be happy to hear!
Thanks,
--
Julien ?LIE
? A killfile on Usenet can get you peace and quiet. A killfile in the
real world can get you twenty years to life. ? (Nils Nieuwjaar)
------------------------------
Message: 2
Date: Fri, 1 May 2015 22:39:35 +0200
From: Dennis Preiser <[email protected]>
To: [email protected]
Subject: Re: INN 2.6.0 release candidate
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-1
On Mon, Mar 30, 2015 at 10:39:02PM +0200, Julien ?LIE wrote:
> A release candidate for INN 2.6.0 has just been made available
> for download on ftp.isc.org:
>
> http://ftp.isc.org/isc/inn/testing/
>
> Please report any issue you may encounter, especially during
> the upgrade process from INN 2.5.x.
I've built inn-2.6.0rc1 on Mac OS X and here is a brief report:
At first, make has stopped here:
| libtool: link: clang -dynamiclib -Wl,-undefined -Wl,dynamic_lookup -o
.libs/libinn.3.dylib .libs/setproctitle.o .libs/reallocarray.o
.libs/argparse.o .libs/buffer.o .libs/cleanfrom.o .libs/clientactive.o
.libs/clientlib.o .libs/commands.o .libs/concat.o .libs/conffile.o
.libs/confparse.o .libs/daemonize.o .libs/date.o .libs/dbz.o .libs/defdist.o
.libs/dispatch.o .libs/fdflag.o .libs/fdlimit.o .libs/getfqdn.o
.libs/getmodaddr.o .libs/hash.o .libs/hashtab.o .libs/headers.o .libs/hex.o
.libs/innconf.o .libs/inndcomm.o .libs/list.o .libs/localopen.o
.libs/lockfile.o .libs/makedir.o .libs/md5.o .libs/messageid.o .libs/messages.o
.libs/mmap.o .libs/network.o .libs/network-innbind.o .libs/newsuser.o
.libs/nntp.o .libs/numbers.o .libs/qio.o .libs/radix32.o .libs/readin.o
.libs/remopen.o .libs/reservedfd.o .libs/resource.o .libs/sendarticle.o
.libs/sendpass.o .libs/sequence.o .libs/timer.o .libs/tst.o .libs/uwildmat.o
.libs/vector.o .libs/wire.o .libs/xfopena.o .libs/xmalloc.o .lib
s/xsignal.o .libs/xwrite.o -multiply_defined -install_name
/usr/local/news/lib/libinn.3.dylib -compatibility_version 4 -current_version
4.0 -Wl,-single_module
| clang: error: no such file or directory: '/usr/local/news/lib/libinn.3.dylib'
| make[1]: *** [libinn.la] Error 1
| make: *** [all-lib] Error 2
The reason is the '-multiply_defined'-part of the command line. I guess
this should be '-multiply_defined suppress' and has to be passed to the
linker with '-Wl'. Here is the corresponding snippet from configure.ac:
| dnl OSX needs -multiply_defined suppress.
| *darwin*)
| LDFLAGS="$LDFLAGS -multiply_defined suppress"
| ;;
However, at least in Mac OS X 10.10 this switch is marked as obsolete.
>From ld(1):
| -multiply_defined treatment
| Previously provided a way to warn or error if any of the sym-
| bols used from a dynamic library were also available in
| another linked dynamic library. This option is obsolete.
To continue, I've removed this from Makefile.global:
| -LDFLAGS = -multiply_defined suppress
| +LDFLAGS =
After that, make has stopped at this point:
| libtool: link: clang -o .libs/innfeed article.o buffer.o config_l.o
config_y.o endpoint.o host.o innlistener.o main.o misc.o tape.o connection.o
/Users/dennis/src/inn-2.6.0rc1/history/.libs/libinnhist.dylib
/Users/dennis/src/inn-2.6.0rc1/storage/.libs/libstorage.dylib
/Users/dennis/src/inn-2.6.0rc1/lib/.libs/libinn.dylib
| imap_connection.c:57:15: error: typedef redefinition with different types
| ('int (*)(void)' vs 'int (*)()')
| typedef int (*sasl_callback_ft)(void);
| ^
| /usr/include/sasl/saslplug.h:36:15: note: previous definition is here
| typedef int (*sasl_callback_ft)(); // APPLE: remove void
| ^
| 1 error generated.
| make[1]: *** [imap_connection.o] Error 1
| make: *** [all-innfeed] Error 2
The comment indicates that the change was made intentionally (for
whatever reason).
After removing the typedef:
| -typedef int (*sasl_callback_ft)(void);
| +//typedef int (*sasl_callback_ft)(void);
in innfeed/imap_connection.c I was eventually able to build inn.
inn-2.5.5rc1 has the same issues on Mac OS X when configured with
--with-sasl and --enable-libtool.
Dennis
------------------------------
Message: 3
Date: Fri, 01 May 2015 23:25:32 +0200
From: Julien ?LIE <[email protected]>
To: [email protected]
Subject: Re: INN 2.6.0 release candidate
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252
Hi Dennis,
First of all, thanks for your test.
> | dnl OSX needs -multiply_defined suppress.
> | *darwin*)
> | LDFLAGS="$LDFLAGS -multiply_defined suppress"
> | ;;
>
> However, at least in Mac OS X 10.10 this switch is marked as obsolete.
>>From ld(1):
>
> | -multiply_defined treatment
> | Previously provided a way to warn or error if any of the sym-
> | bols used from a dynamic library were also available in
> | another linked dynamic library. This option is obsolete.
>
> To continue, I've removed this from Makefile.global:
>
> | -LDFLAGS = -multiply_defined suppress
> | +LDFLAGS =
So we just have to remove the special case of darwin in configure.ac
so as to no longer add "-multiply_defined suppress" to LDFLAGS
if I understand well. In the documentation of that flag, it is said
that the default behaviour is to treat multiply defined symbols
in dynamic libraries as warnings when -twolevel_namespace is in effect.
This flag was added in 2003 (revision 6112): "add
'-multiply_defined suppress' to LDFLAGS for OSX to shut up
compilation warnings".
> | libtool: link: clang -o .libs/innfeed article.o buffer.o config_l.o
> config_y.o endpoint.o host.o innlistener.o main.o misc.o tape.o connection.o
> /Users/dennis/src/inn-2.6.0rc1/history/.libs/libinnhist.dylib
> /Users/dennis/src/inn-2.6.0rc1/storage/.libs/libstorage.dylib
> /Users/dennis/src/inn-2.6.0rc1/lib/.libs/libinn.dylib
> | imap_connection.c:57:15: error: typedef redefinition with different types
> | ('int (*)(void)' vs 'int (*)()')
> | typedef int (*sasl_callback_ft)(void);
> | ^
> | /usr/include/sasl/saslplug.h:36:15: note: previous definition is here
> | typedef int (*sasl_callback_ft)(); // APPLE: remove void
> | ^
> | 1 error generated.
> | make[1]: *** [imap_connection.o] Error 1
> | make: *** [all-innfeed] Error 2
>
> The comment indicates that the change was made intentionally (for
> whatever reason).
>
> After removing the typedef:
>
> | -typedef int (*sasl_callback_ft)(void);
> | +//typedef int (*sasl_callback_ft)(void);
>
> in innfeed/imap_connection.c I was eventually able to build inn.
Cyrus SASL 2.1.25 modified the prototype of SASL callback
functions to fix the "function declaration
isn't a prototype" warning, by adding in <sasl/saslplug.h>:
+typedef int (*sasl_callback_ft)(void);
typedef int sasl_getcallback_t(sasl_conn_t *conn,
unsigned long callbackid,
- int (**pproc)(),
+ sasl_callback_ft * pproc,
void **pcontext);
So we have in innfeed/imap_connection.c:
/* For Cyrus SASL versions < 2.1.24. */
# ifndef sasl_callback_ft
typedef int (*sasl_callback_ft)(void);
# endif
So the check should be improved...
By the way, do you know why the #ifndef clause with the typedef
is read? Isn't sasl_callback_ft already defined in your version
of Cyrus SASL?
--
Julien ?LIE
? Felix qui potuit rerum cognoscere causas. ? (Virgile)
------------------------------
Message: 4
Date: Sat, 2 May 2015 10:19:40 +0200
From: Dennis Preiser <[email protected]>
To: [email protected]
Subject: Re: INN 2.6.0 release candidate
Message-ID: <[email protected]>
Content-Type: text/plain; charset=iso-8859-1
On Fri, May 01, 2015 at 11:25:32PM +0200, Julien ?LIE wrote:
>> | -LDFLAGS = -multiply_defined suppress
>> | +LDFLAGS =
>
> So we just have to remove the special case of darwin in configure.ac
> so as to no longer add "-multiply_defined suppress" to LDFLAGS
> if I understand well. In the documentation of that flag, it is said
The current version of darwin is 14.x.y. I would suggest to check the darwin
version and set the LDFLAGS only for versions below darwin14.
Something like this (which does *not* work!, I'm not familiar with the right
syntax):
| *darwin[0-9]*|*darwin1[0-3]*)
| LDFLAGS="$LDFLAGS -multiply_defined suppress"
| ;;
>> | imap_connection.c:57:15: error: typedef redefinition with different types
>> | ('int (*)(void)' vs 'int (*)()')
>> | typedef int (*sasl_callback_ft)(void);
>> | ^
>> | /usr/include/sasl/saslplug.h:36:15: note: previous definition is here
>> | typedef int (*sasl_callback_ft)(); // APPLE: remove void
>> | ^
>> | 1 error generated.
>> | make[1]: *** [imap_connection.o] Error 1
>> | make: *** [all-innfeed] Error 2
>
> Cyrus SASL 2.1.25 modified the prototype of SASL callback
> functions to fix the "function declaration
> isn't a prototype" warning, by adding in <sasl/saslplug.h>:
> +typedef int (*sasl_callback_ft)(void);
> typedef int sasl_getcallback_t(sasl_conn_t *conn,
> unsigned long callbackid,
> - int (**pproc)(),
> + sasl_callback_ft * pproc,
> void **pcontext);
>
>
> So we have in innfeed/imap_connection.c:
>
> /* For Cyrus SASL versions < 2.1.24. */
> # ifndef sasl_callback_ft
> typedef int (*sasl_callback_ft)(void);
> # endif
>
> So the check should be improved...
> By the way, do you know why the #ifndef clause with the typedef
> is read? Isn't sasl_callback_ft already defined in your version
> of Cyrus SASL?
As far as I know, it's not possible to detect whether a typedef was done
earlier or not. My compiler does not complain when the same typedef is done
twice. Unfortunately, Apple has change the typedef from
typedef int (*sasl_callback_ft)(void);
to
typedef int (*sasl_callback_ft)();
in /usr/include/sasl/saslplug.h. Here is the current code:
| typedef int (*sasl_callback_ft)(); // APPLE: remove void
| typedef int sasl_getcallback_t(sasl_conn_t *conn,
| unsigned long callbackid,
| sasl_callback_ft * pproc,
| void **pcontext);
Dennis
------------------------------
Message: 5
Date: Sat, 2 May 2015 08:57:22 +0000
From: David Binderman <[email protected]>
To: Julien ?LIE <[email protected]>, "[email protected]"
<[email protected]>
Subject: inn-2.6.0rc1 bug report
Message-ID: <[email protected]>
Content-Type: text/plain; charset="iso-8859-1"
Hello there,
[inn-2.6.0rc1/innd/art.c:1694]: (warning) Char literal compared with pointer
'begin'. Did you intend to dereference it?
??????? if (begin == '\0')
????????? continue;
Maybe
??????? if (*begin == '\0')
????????? continue;
Regards
David Binderman
------------------------------
Message: 6
Date: Sat, 02 May 2015 12:14:25 +0200
From: Julien ?LIE <[email protected]>
To: [email protected]
Subject: Re: INN 2.6.0 release candidate
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252
Hi Dennis,
> The current version of darwin is 14.x.y. I would suggest to check the darwin
> version and set the LDFLAGS only for versions below darwin14.
>
> Something like this (which does *not* work!, I'm not familiar with the right
> syntax):
>
> | *darwin[0-9]*|*darwin1[0-3]*)
> | LDFLAGS="$LDFLAGS -multiply_defined suppress"
> | ;;
It should work. I bet your "configure" file (not "configure.ac" file)
was not regenerated. You have to run "./autogen" to regenerate it.
I see that Clang became the only compiler available from Xcode starting
from Mavericks. Isn't that change linked and therefore we should also
do the change for darwin13?
Here is a suggestion, similar to yours:
--- configure.ac (r?vision 9831)
+++ configure.ac (copie de travail)
@@ -214,8 +214,9 @@
fi
;;
-dnl OSX needs -multiply_defined suppress.
-*darwin*)
+dnl OSX needs "-multiply_defined suppress" before this linker flag became
+dnl obsolete (darwin13 is Mavericks, OS X v10.9).
+*-darwin[0-9].*|*-darwin1[0-2].*)
LDFLAGS="$LDFLAGS -multiply_defined suppress"
;;
> As far as I know, it's not possible to detect whether a typedef was done
> earlier or not. My compiler does not complain when the same typedef is done
> twice. Unfortunately, Apple has change the typedef from
>
> typedef int (*sasl_callback_ft)(void);
>
> to
>
> typedef int (*sasl_callback_ft)();
Here is suggestion of patch that should fix the bug.
The need was in fact to define sasl_callback_ft when it was not defined,
and the first version that defines it is 2.1.25 (not 2.1.24).
--- innfeed/imap_connection.c (r?vision 9831)
+++ innfeed/imap_connection.c (copie de travail)
@@ -52,8 +52,8 @@
# include <sasl/sasl.h>
# include <sasl/saslplug.h>
# include <sasl/saslutil.h>
-/* For Cyrus SASL versions < 2.1.24. */
-# ifndef sasl_callback_ft
+/* For Cyrus SASL versions < 2.1.25 (in hexadecimal notation below). */
+# if !defined (SASL_VERSION_FULL) || SASL_VERSION_FULL < 0x020119
typedef int (*sasl_callback_ft)(void);
# endif
#endif
Do you confirm everything now works fine with these two patches?
I also see that a few functions from OpenSSL are deprecated in Mac OS X...
One has to install the real OpenSSL package, and not the one shipped with
Mac OS X, based upon Common Crypto.
article.c:81:14: error: 'SSL_get_error' is deprecated: first deprecated in OS X
10.7 [-Werror,-Wdeprecated-declarations]
switch (SSL_get_error(tls_conn, result)) {
^
/usr/include/openssl/ssl.h:1517:5: note: 'SSL_get_error' has been explicitly
marked deprecated here
int SSL_get_error(const SSL *s,int ret_code) DEPRECATED_IN_MAC_OS_X_...
^
--
Julien ?LIE
? Un myope qui lit sur les l?vres entend mieux s'il porte des
lunettes. ? (Philippe Geluck)
------------------------------
Message: 7
Date: Sat, 02 May 2015 12:28:57 +0200
From: Julien ?LIE <[email protected]>
To: "[email protected]" <[email protected]>
Subject: Re: inn-2.6.0rc1 bug report
Message-ID: <[email protected]>
Content-Type: text/plain; charset=windows-1252; format=flowed
Hi David,
> [inn-2.6.0rc1/innd/art.c:1694]: (warning) Char literal compared with pointer
> 'begin'. Did you intend to dereference it?
>
> if (begin == '\0')
> continue;
>
> Maybe
>
> if (*begin == '\0')
> continue;
That's a good catch, thanks!
It will be fixed for the 2.5.5 and 2.6.0 releases.
Strange that I did not see that warning with various versions of gcc
(4.7.2 to 5.1.0) and Clang 3.0-6.2 from Debian. What compiler do you use?
--
Julien ?LIE
? Tout va bien, pourvu que cela dure, comme disait Arlequin en tombant
d'un cinqui?me ?tage. ? (Prosper M?rim?e)
------------------------------
_______________________________________________
inn-workers mailing list
[email protected]
https://lists.isc.org/mailman/listinfo/inn-workers
End of inn-workers Digest, Vol 72, Issue 1
******************************************