GSOC 2017 Progress Report #10

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

GSOC 2017 Progress Report #10

Samba - samba-technical mailing list
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



Loading...