build warnings

Andrew Bartlett abartlet at samba.org
Mon Dec 19 18:55:15 UTC 2016


On Mon, 2016-12-19 at 10:40 -0800, Herb Lewis wrote:
> In building samba 4.5.2 (on FC24) I see the following errors about 
> deprecated functions.
> What should be used instead?

For the tevent_allow_nesting and set_sync_ev related functions, these
are an odd sort of deprecated function: They are fully supported parts
of the API, but marked as such because we don't want to use nested
event loops any more, and we work hard to avoid stacked event loops (a
loop inside a blocking function), rather than the full async song-and-
dance. 

However, as you know, these parts of the code are complex and hard to
refactor, so many such use cases still exist. 

At your end, nothing needs to be done for these.

I don't know the details on the gnutls API changes, perhaps you can
research what we should do there.

Thanks,

Andrew Bartlett

> [ 580/2951] Compiling lib/ldb/common/ldb.c
> ../lib/ldb/common/ldb.c: In function ‘ldb_init’:
> ../lib/ldb/common/ldb.c:120:3: warning: ‘tevent_loop_allow_nesting’
> is 
> deprecated [-Wdeprecated-declarations]
>     tevent_loop_allow_nesting(ev_ctx);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../lib/ldb/include/ldb.h:51:0,
>                   from ../lib/ldb/include/ldb_private.h:43,
>                   from ../lib/ldb/common/ldb.c:36:
> ../lib/tevent/tevent.h:1761:6: note: declared here
>   void tevent_loop_allow_nesting(struct tevent_context *ev)
> _DEPRECATED_;
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [ 611/2951] Compiling source4/librpc/rpc/pyrpc_util.c
> ../source4/librpc/rpc/pyrpc_util.c: In function ‘pyrpc_irpc_connect’:
> ../source4/librpc/rpc/pyrpc_util.c:90:2: warning: 
> ‘dcerpc_binding_handle_set_sync_ev’ is deprecated 
> [-Wdeprecated-declarations]
>    dcerpc_binding_handle_set_sync_ev(*binding_handle, event_ctx);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../source4/librpc/rpc/dcerpc.h:33:0,
>                   from ../source4/librpc/rpc/pyrpc_util.c:26:
> ../source4/../librpc/rpc/rpc_common.h:284:19: note: declared here
>   _DEPRECATED_ void dcerpc_binding_handle_set_sync_ev(struct 
> dcerpc_binding_handle *h,
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [ 754/2951] Compiling source4/librpc/rpc/dcerpc.c
> ../source4/librpc/rpc/dcerpc.c: In function
> ‘dcerpc_pipe_binding_handle’:
> ../source4/librpc/rpc/dcerpc.c:620:2: warning: 
> ‘dcerpc_binding_handle_set_sync_ev’ is deprecated 
> [-Wdeprecated-declarations]
>    dcerpc_binding_handle_set_sync_ev(h, p->conn->event_ctx);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../source4/librpc/rpc/dcerpc.h:33:0,
>                   from ../source4/librpc/rpc/dcerpc.c:27:
> ../source4/../librpc/rpc/rpc_common.h:284:19: note: declared here
>   _DEPRECATED_ void dcerpc_binding_handle_set_sync_ev(struct 
> dcerpc_binding_handle *h,
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [ 790/2951] Compiling source4/lib/events/tevent_s4.c
> ../source4/lib/events/tevent_s4.c: In function
> ‘s4_event_context_init’:
> ../source4/lib/events/tevent_s4.c:37:3: warning: 
> ‘tevent_loop_allow_nesting’ is deprecated [-Wdeprecated-declarations]
>     tevent_loop_allow_nesting(ev);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../source4/lib/events/events.h:3:0,
>                   from ../source4/lib/events/tevent_s4.c:21:
> ../lib/tevent/tevent.h:1761:6: note: declared here
>   void tevent_loop_allow_nesting(struct tevent_context *ev)
> _DEPRECATED_;
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [ 902/2951] Compiling source4/lib/tls/tls.c
> ../source4/lib/tls/tls.c:42:2: warning:
> ‘gnutls_certificate_credentials’ 
> is deprecated [-Wdeprecated-declarations]
>    gnutls_certificate_credentials x509_cred;
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../source4/lib/tls/tls.c:43:2: warning: ‘gnutls_dh_params’ is
> deprecated 
> [-Wdeprecated-declarations]
>    gnutls_dh_params dh_params;
>    ^~~~~~~~~~~~~~~~
> ../source4/lib/tls/tls.c:55:2: warning: ‘gnutls_session’ is
> deprecated 
> [-Wdeprecated-declarations]
>    gnutls_session session;
>    ^~~~~~~~~~~~~~
> ../source4/lib/tls/tls.c:62:2: warning:
> ‘gnutls_certificate_credentials’ 
> is deprecated [-Wdeprecated-declarations]
>    gnutls_certificate_credentials xcred;
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../source4/lib/tls/tls.c:114:1: warning: ‘gnutls_transport_ptr’ is 
> deprecated [-Wdeprecated-declarations]
>   static ssize_t tls_pull(gnutls_transport_ptr ptr, void *buf, size_t
> size)
>   ^~~~~~
> ../source4/lib/tls/tls.c:153:1: warning: ‘gnutls_transport_ptr’ is 
> deprecated [-Wdeprecated-declarations]
>   static ssize_t tls_push(gnutls_transport_ptr ptr, const void *buf, 
> size_t size)
>   ^~~~~~
> ../source4/lib/tls/tls.c: In function ‘tls_init_server’:
> ../source4/lib/tls/tls.c:548:2: warning: ‘gnutls_transport_ptr’ is 
> deprecated [-Wdeprecated-declarations]
>    gnutls_transport_set_ptr(tls->session, (gnutls_transport_ptr)tls);
>    ^~~~~~~~~~~~~~~~~~~~~~~~
> [ 903/2951] Compiling source4/lib/tls/tlscert.c
> ../source4/lib/tls/tlscert.c: In function ‘tls_cert_generate’:
> ../source4/lib/tls/tlscert.c:46:2: warning: ‘gnutls_x509_crt’ is 
> deprecated [-Wdeprecated-declarations]
>    gnutls_x509_crt cacrt, crt;
>    ^~~~~~~~~~~~~~~
> ../source4/lib/tls/tlscert.c:46:2: warning: ‘gnutls_x509_crt’ is 
> deprecated [-Wdeprecated-declarations]
> ../source4/lib/tls/tlscert.c:47:2: warning: ‘gnutls_x509_privkey’ is 
> deprecated [-Wdeprecated-declarations]
>    gnutls_x509_privkey key, cakey;
>    ^~~~~~~~~~~~~~~~~~~
> ../source4/lib/tls/tlscert.c:47:2: warning: ‘gnutls_x509_privkey’ is 
> deprecated [-Wdeprecated-declarations]
> [ 904/2951] Compiling source4/lib/tls/tls_tstream.c
> ../source4/lib/tls/tls_tstream.c:88:2: warning: ‘gnutls_session’ is 
> deprecated [-Wdeprecated-declarations]
>    gnutls_session tls_session;
>    ^~~~~~~~~~~~~~
> ../source4/lib/tls/tls_tstream.c:193:1: warning:
> ‘gnutls_transport_ptr’ 
> is deprecated [-Wdeprecated-declarations]
>   static ssize_t tstream_tls_push_function(gnutls_transport_ptr ptr,
>   ^~~~~~
> ../source4/lib/tls/tls_tstream.c:332:1: warning:
> ‘gnutls_transport_ptr’ 
> is deprecated [-Wdeprecated-declarations]
>   static ssize_t tstream_tls_pull_function(gnutls_transport_ptr ptr,
>   ^~~~~~
> ../source4/lib/tls/tls_tstream.c:914:2: warning: 
> ‘gnutls_certificate_credentials’ is deprecated [-Wdeprecated-
> declarations]
>    gnutls_certificate_credentials x509_cred;
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../source4/lib/tls/tls_tstream.c:915:2: warning: ‘gnutls_dh_params’
> is 
> deprecated [-Wdeprecated-declarations]
>    gnutls_dh_params dh_params;
>    ^~~~~~~~~~~~~~~~
> ../source4/lib/tls/tls_tstream.c: In function
> ‘_tstream_tls_connect_send’:
> ../source4/lib/tls/tls_tstream.c:1118:2: warning:
> ‘gnutls_transport_ptr’ 
> is deprecated [-Wdeprecated-declarations]
>    gnutls_transport_set_ptr(tlss->tls_session, 
> (gnutls_transport_ptr)state->tls_stream);
>    ^~~~~~~~~~~~~~~~~~~~~~~~
> ../source4/lib/tls/tls_tstream.c: In function
> ‘_tstream_tls_accept_send’:
> ../source4/lib/tls/tls_tstream.c:1393:2: warning:
> ‘gnutls_transport_ptr’ 
> is deprecated [-Wdeprecated-declarations]
>    gnutls_transport_set_ptr(tlss->tls_session, 
> (gnutls_transport_ptr)state->tls_stream);
>    ^~~~~~~~~~~~~~~~~~~~~~~~
> 
> [ 957/2951] Compiling auth/gensec/gensec.c
> ../auth/gensec/gensec.c: In function ‘gensec_update_ev’:
> ../auth/gensec/gensec.c:300:4: warning: ‘tevent_loop_allow_nesting’
> is 
> deprecated [-Wdeprecated-declarations]
>      tevent_loop_allow_nesting(ev);
>      ^~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../auth/gensec/gensec.c:26:0:
> ../lib/tevent/tevent.h:1761:6: note: declared here
>   void tevent_loop_allow_nesting(struct tevent_context *ev)
> _DEPRECATED_;
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
> ../auth/gensec/gensec.c:339:3: warning: ‘tevent_loop_allow_nesting’
> is 
> deprecated [-Wdeprecated-declarations]
>     tevent_loop_allow_nesting(ev);
>     ^~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../auth/gensec/gensec.c:26:0:
> ../lib/tevent/tevent.h:1761:6: note: declared here
>   void tevent_loop_allow_nesting(struct tevent_context *ev)
> _DEPRECATED_;
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [1215/2951] Compiling source4/auth/ntlm/auth_winbind.c
> ../source4/auth/ntlm/auth_winbind.c: In function
> ‘winbind_check_password’:
> ../source4/auth/ntlm/auth_winbind.c:140:2: warning: 
> ‘dcerpc_binding_handle_set_sync_ev’ is deprecated 
> [-Wdeprecated-declarations]
>    dcerpc_binding_handle_set_sync_ev(irpc_handle, ctx->auth_ctx-
> >event_ctx);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../source4/librpc/rpc/dcerpc.h:33:0,
>                   from default/librpc/gen_ndr/ndr_winbind_c.h:1,
>                   from ../source4/auth/ntlm/auth_winbind.c:27:
> ../source4/../librpc/rpc/rpc_common.h:284:19: note: declared here
>   _DEPRECATED_ void dcerpc_binding_handle_set_sync_ev(struct 
> dcerpc_binding_handle *h,
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [1256/2951] Compiling libcli/smbreadline/smbreadline.c
> ../libcli/smbreadline/smbreadline.c: In function ‘smb_readline’:
> ../libcli/smbreadline/smbreadline.c:139:3: warning: ‘CPPFunction’ is 
> deprecated [-Wdeprecated-declarations]
>     rl_attempted_completion_function = RL_COMPLETION_CAST
> completion_fn;
>     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> [1470/2951] Compiling source4/lib/messaging/tests/irpc.c
> ../source4/lib/messaging/tests/irpc.c: In function ‘test_addone’:
> ../source4/lib/messaging/tests/irpc.c:109:2: warning: 
> ‘dcerpc_binding_handle_set_sync_ev’ is deprecated 
> [-Wdeprecated-declarations]
>    dcerpc_binding_handle_set_sync_ev(irpc_handle, data->ev);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../source4/librpc/rpc/dcerpc.h:33:0,
>                   from default/librpc/gen_ndr/ndr_echo_c.h:1,
>                   from ../source4/lib/messaging/tests/irpc.c:26:
> ../source4/../librpc/rpc/rpc_common.h:284:19: note: declared here
>   _DEPRECATED_ void dcerpc_binding_handle_set_sync_ev(struct 
> dcerpc_binding_handle *h,
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../source4/lib/messaging/tests/irpc.c: In function ‘test_echodata’:
> ../source4/lib/messaging/tests/irpc.c:148:2: warning: 
> ‘dcerpc_binding_handle_set_sync_ev’ is deprecated 
> [-Wdeprecated-declarations]
>    dcerpc_binding_handle_set_sync_ev(irpc_handle, data->ev);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from ../source4/librpc/rpc/dcerpc.h:33:0,
>                   from default/librpc/gen_ndr/ndr_echo_c.h:1,
>                   from ../source4/lib/messaging/tests/irpc.c:26:
> ../source4/../librpc/rpc/rpc_common.h:284:19: note: declared here
>   _DEPRECATED_ void dcerpc_binding_handle_set_sync_ev(struct 
> dcerpc_binding_handle *h,
>                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
-- 
Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba




More information about the samba-technical mailing list