GSOC 2017 Progress Report #10

Dimitris Gravanis dimgrav at gmail.com
Sat Aug 12 16:56:06 UTC 2017


Progress Report #10 12/08/2017 
<https://dimgrav.blogspot.gr/2017/08/progress-report-10.html>


Since the last update, all active work has been moved, restructured (and 
changed a bit where needed) so that it could be integrated to the 
samba-fork <https://github.com/dimgrav/samba> I use on GitHub.

The Samba-GSOC2017 <https://github.com/dimgrav/Samba-GSOC2017> repo will 
still be updated to match the samba-fork repo, but not always 
simultaneously.


Major changes in structure include:

_*cli_dns.c*_

This will be acting as the DNS UDP/TCP call handler with socketwrapper 
support and TSIG generation, which is the project goal. This is intended 
to replace libcli/dns/dns.c of the mainline Samba Git in the final 
builds, through libclid/dns/wscript_build.

_*client_crypto.c - libtsig.h*_

GSS-TSIG client-side handling for signed packets with the structures and 
utilities lib.

_*dns_tcp.c - libtcp.h*_

TCP client-side DNS call handling and structures lib.

_*dns_udp.c - libdns.h*_

The pre-existing async DNS library for Samba with socketwrapper support, 
as written by Kai Blin.

The above corresponding .h files are used in cli_dns.c. The .c files 
that handle calls and sig generation are incorporated in cli_dns.c and 
are currently used only to facilitate writing tests. They are not 
intended to be part of the builds (will be probably removed when 
cli_dns.c and tests are finalized).

*_wrap_cli.c - libwrap.h_*

Multiple wrapping for cli_dns.c and associated library.

*_cmocka-tests_*

  * cli_crypto_test.c
  * dns_tcp_test.c
  * dns_udp_test.c

The test suites that are currently under development, in accordance to 
client_crypto, dns_tcp, dns_udp. Integration of tests to a larger suite 
that would test cli_dns.c should be relatively simple, if these suites 
are individually succesful.


*To-do list:*

 1. TESTS - TESTS - TESTS! Writing tests is probably the hardest part
    yet, but that's a good thing!
 2. Complete preprocessor include/define statements in all .c and .h
    files as required for functionality and performance.

Should I be done with the above swiftly, I might be able to go through 
the dns handler code for improvements.

I went through the Samba Wiki in regard to adding documentation, I've 
started making some drafts, but I'll have to get some guidelines from my 
mentors and the team.

I would appreciate all the feedback I can get at this point, especially 
on wrappers and test suites.

Have a great weekend,

Dimitris





More information about the samba-technical mailing list