Hi,

I've found this in ssl/d1_both.c:

-----------------
int
dtls1_retransmit_buffered_messages(SSL *s)
        {
        [...]

        for ( item = pqueue_next(&iter); item != NULL; item =
pqueue_next(&iter))
                {
                frag = (hm_fragment *)item->data;
                        if ( dtls1_retransmit_message(s,
                                (unsigned
short)dtls1_get_queue_priority(frag->msg_header.seq,
frag->msg_header.is_ccs),
                                0, &found) <= 0 && found)
                        {
                        fprintf(stderr, "dtls1_retransmit_message() failed\n");
                        return -1;
                        }
                }

        return 1;
        }
------------------

Well, there are 748 calls to fprintf(sdterr) in the whole library. Why
a fprintf? Please, OpenSSL is a *library*, why should it print errors
to stderr at all? Please don't do that. It happens that, again,
OpenSSL is a library so it should not force me how to print errors.

In my case I have some custom logger functions that log to stderr
(with a *custom* format) or syslog, why does OpenSSL decide by itself
how to print errors? how is that supposed to be useful for *my*
application? am I supposed to parse string errors printed into stderr?
of course not.

Would it make sense to send a bug/wish report asking for the removal
of all those fprintf calls? (if somebody clarifies me that it is a
WONT FIX I won't spent time on it).

Thanks a lot.


-- 
Iñaki Baz Castillo
<i...@aliax.net>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to