GSOC 2017 Progress Report #6

Dimitris Gravanis dimgrav at gmail.com
Fri Jul 14 19:13:05 UTC 2017


Progress Report #6 14-07-2017 <https://dimgrav.blogspot.gr/>


_gss-tsig_ <https://github.com/dimgrav/Samba-GSOC2017/tree/master/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_ <https://github.com/dimgrav/Samba-GSOC2017/tree/master/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.


Cheers,

Dimitris


*/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 
*stream,||
||                           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);|



More information about the samba-technical mailing list