GSOC 2017 Progress Report #6

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

GSOC 2017 Progress Report #6

Samba - samba-technical mailing list
Progress Report #6 14-07-2017 <>

_gss-tsig_ <>

  * signature generation in gss-tsig/client_crypto.c.
  * removes inbound dns_tsig_record and rebuilds with MAC signature and
    tsig rdata (as stated in RFC 2845 2.3).
  * corresponding header with structures in gss-tsig/libcli_crypto.h.

_tcp-cli_ <>

  * client-side dns tcp query send/receive.
  * corresponding header with structures in tcp-cli/libdns-tcp.

*gss-tsig* needs fine tuning in general, some headers must be removed as
well. I followed Samba APIs and existing code.

*tcp-cli* is not yet sorted out, as there don't seem to be definitions
for /tstream_read_pdu_blob_send()/recv()/*, I could use some help on
passing the tstream vector** to the callback as well. Also I'm not sure
if I need to create a new connection from the client to the server, as
UDP queries use existing sockets.

Once the above are done, I can wrap up all the features and work on
creating tests, so any feedback at all would be greatly appreciated (and
really needed!) to speed things up.

I think I'm quite comfortable with tsocket and tevent at this point.



*/used in dns_server/dns_server.c (eg at lines 309, 349 and after), but
not defined in tevent.h.//

**/See below (tevent.h 1123-1134):/

|ssize_t tdgram_sendto_queue_recv(struct tevent_req *req, int *perrno);||
||typedef int (*tstream_readv_pdu_next_vector_t)(struct tstream_context
||                           void *private_data,||
||                           TALLOC_CTX *mem_ctx,||
||                           struct iovec **vector,||
||                           size_t *count);||
||struct tevent_req *tstream_readv_pdu_send(TALLOC_CTX *mem_ctx,||
||                struct tevent_context *ev,||
||                struct tstream_context *stream,||
||                tstream_readv_pdu_next_vector_t next_vector_fn,||
||                void *next_vector_private);||
||int tstream_readv_pdu_recv(struct tevent_req *req, int *perrno);|