Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
BIND
BIND
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 582
    • Issues 582
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 110
    • Merge Requests 110
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ISC Open Source Projects
  • BINDBIND
  • Wiki
  • GSOC 2019

Last edited by Vicky Risk Jan 25, 2019
Page history

GSOC 2019

  • GSoC 2019 Students
  • Ideas for BIND 9 Community Projects
    • 1. Add Support status command to RNDC, also Implement upstream version check at startup
    • 2. Implement a zone database for BIND, using the existing dyndb API.
    • 3. Automatic zone file name generation
    • 4. GUI Configuration tool for BIND
    • 5. Extend EDNS compliance test tool to emit warnings

GSoC 2019 Students

Congratulations on identifying one of the core technologies critical to networking and the Internet! DNS is how computers associate names with IP addresses so they can find a specific service on the Internet. Working on core infrastructure like this gives you an opportunity to have a significant impact.

  1. We recommend that you first cruise over to the incomparable DNS for Rocket Scientists. Although we also recommend Cricket Liu's DNS and BIND, this Zytrax.com resource is still one of the most accessible and useful on the net.
  2. Then, download, build, and install BIND and see if you can get it running. If you have gotten this far, this is a very good sign! There is an Administrative Reference Manual included with the source code, and we have an extensive series of technical articles at kb.isc.org to help.
  3. Browse the bind-users@lists.isc.org. This will give you an idea of how people are using BIND, and what problems or challenges they are facing. If you plan to proceed with a proposal, we recommend you join the list so you can also post questions.
  4. Check the (BIND 9 project GitLab[https://gitlab.isc.org/isc-projects/bind9/issues]
    Familiarize yourself with what's going on in the project, and look at the outstanding issues.
  5. Pick a project from the list below that sounds interesting to you. What is the essential objective: what would success look like? How would you propose to tackle the project? What do you think are the primary tasks? If you plan to complete the project in a summer, about how much time would you want to spend on each task or milestone? What are the main questions you have about how to proceed? This is the first draft of your proposal.
  6. Send us that draft, and we will respond back with comments and advice, and probably ask you to provide more details. You are on your way to creating a good quality final proposal.
  7. Submit your proposal (.pdf) to GSOC between March 12 - 27th.

Ideas for BIND 9 Community Projects

The ideas list below is intended to provide you with starter ideas for GSOC projects. Please feel free to propose something different, we are flexible. These are all things that would be useful, but that the core team doesn't have time to work on. Some of these projects may be a little ambitious for a GSOC project - if you want to propose something that is a little easier or less ambitious, that is fine. It is better to downscope the project and complete it than attempt something unrealistic.

1. Add Support status command to RNDC, also Implement upstream version check at startup

Requirement: BIND is under active development, with new releases issued frequently. It is not uncommon for organizations to maintain dozens of BIND servers and for some of them to be very infrequently updated. This would provide a new service for the BIND administrator, to query their BIND 9 server, which would then check (some undefined service) at ISC or the packager, and reply back whether the BIND 9 version is current and up-to-date or needs an upgrade.

Deliverable: The entire feature would require code committed to BIND to add the command grammar, and to implement the lookup, a design for the backend service which will reply back to the server, documentation for the feature, and outreach to the BIND User community. Any feature that 'phones home' to get information will automatically be somewhat suspect and so development of this feature would need to be particularly transparent, and carried out with user input.

Skills required: ...

Complexity: uh, medium?

Mentor:

2. Implement a zone database for BIND, using the existing dyndb API.

Requirement ISPs often provide a graphical web interface for requesting and enabling new domain names for their users. They may have a very large number of very small parked or 'vanity' domains, with many new and changed domains, which are queried relatively infrequently. It is ideal to maintain these zones in a separate database, which the ISP can easily develop a provisioning front-end for. In BIND 9.11.0 we added a new api, the Dyndb api, which is designed for exactly this purpose. So far, however, the only known database implementation of the API is for the RedHat FreeIPA service. See this related GitLab issue, Refactor DLZ into a dyndb module? and Database backend for storing and managing zone files

Deliverable: Select a reasonably popular, easy to use and well-supported existing open source database. Ideally, contact the maintainers of this database and let them know you are planning to work on this project. Implement an appropriate schema for a BIND zone file in the database. Implement a service interface for the BIND dyndb api. Integrate the two, and verify that you can serve a zone in the database via a query to the BIND instance. Write some basic documentation on how to use the feature and any new commands required. Post the database code somewhere it can be easily found by BIND users (we will help with this) and also submit it back to the upstream project, as appropriate and depending on the interest of the upstream maintainers.

Skills Required:

Complexity: Ambitious Mentor:

3. Automatic zone file name generation

Deliverable Skills Required:

Complexity: Medium Mentor:

4. GUI Configuration tool for BIND

There are at least 3 Webmin modules for BIND. The newest of them is 14 years old.

Deliverable Skills Required:

Complexity: Easy, entry-level Mentor:

5. Extend EDNS compliance test tool to emit warnings

See the DNS Flag Day web site for more information about this effort. Deliverable Skills Required:

Complexity: Easy, entry-level Mentor:

Clone repository
  • BIND 9 F2F Meeting in Warsaw, October 2019
  • BIND 9 PKCS11
  • BIND 9 Packaging
  • BIND 9.11 ESV Soft Code Freeze
  • BIND 9.15 Plan
  • BIND 9.17 Plan
  • BIND Development and Release Process 2019
  • BIND development workflow
  • Backporting a Merge Request
  • CVSS Scoring Guidelines
  • DNSSEC Key and Signing Policy (KASP)
  • Debian Packages
  • DoH
    • DOH and DoT Design
  • Formatting test scratchpad.
  • GSOC 2019
View All Pages