11.21Sjmcneill# $NetBSD: TODO,v 1.21 2020/05/28 20:27:41 jmcneill Exp $ 21.1Slukem 31.1SlukemTHINGS TO BE DONE: 41.1Slukem 51.1Slukem[ Note that this list does not include change requests filed via 'gnats'. 61.1Slukem For information about them, mail query-pr@NetBSD.org. ] 71.1Slukem 81.1SlukemThis is a list of things that need to be done for NetBSD. Some of 91.1Slukemthese projects are small, others are large. Some are extremely 101.1Slukemimportant, others are enhancements to make the system more flexible 111.1Slukemfor the wide variety of NetBSD users and their applications. 121.1Slukem 131.1SlukemIn general there are some guidelines for work to be included in 141.1SlukemNetBSD. Chief among these are: 151.1Slukem 161.1Slukem (1) Keep GPLed stuff out of the kernel. 171.1Slukem (2) Introduce little to no more GPLed stuff as non-optional 181.1Slukem components of the user environment. 191.1Slukem (3) Only clean code, that lends itself to further enhancement 201.1Slukem (4) Keep architecture dependent code out of architecture independent 211.1Slukem directories 221.1Slukem 231.1SlukemAssociated with some entries are login names which indicate persons or 241.1Slukemgroups who may already be working on that problem. This isn't to say 251.1Slukemthat others shouldn't also look at it, but consultation with other 261.1Slukemparties may result in less duplicated work. A directory of these 271.1Slukempersons can be found after the todo list itself. 281.1Slukem 291.1SlukemPlease don't hesitate to suggest more projects for this list. 301.1SlukemSuggestions, comments, etc to projects@NetBSD.org. 311.1Slukem 321.1SlukemHigh Kernel: 331.1Slukem swap fixes: 341.1Slukem swap to file of dynamic size; see apollo 351.1Slukem 361.1SlukemUser programs: 371.1Slukem rwall nfs-mountees on shutdown 381.1Slukem 391.4SagcThis is a list of suggested smaller projects (in no particular order): 401.4Sagc 411.4Sagc+ speed up sort(1) by using mmap(2) rather than temp files 421.4Sagc+ port valgrind to NetBSD for pkgsrc, then use it to do an audit of 431.4Sagc any memory leakage 441.4Sagc+ simplify some of the quirks in our build system 451.4Sagc+ investigate zebra or quagga in gnusrc rather than routed 461.19Smrg+ do a type-punned pointer sweep for -fstrict-aliases (and fix the 471.19Smrg problems, not the symptoms) 481.4Sagc+ perhaps look at putting wonka into src/ (with uuencoded class lib?) 491.4Sagc+ write an overview document for openssl and certificates 501.4Sagc+ documentation project help 511.12Sagc+ Examine our vnode locking and vfs layer and see what needs to be changed 521.12Sagc for locking in layered filesystems to really work 531.13Sjmmv+ Make mountd(8) update the in-kernel exports list for each file system 541.13Sjmmv atomically. Many parts of the utility will need a rewrite, but the kernel 551.13Sjmmv functionality is already there (just enable the "notyet" blocks of code in 561.13Sjmmv sys/nfs/nfs_export.c). 57