FQA INDEX | FQA 9 - Troubleshooting | Appendix G - GSOC

Appendix B - Bounties

html | pdf | troff


This is a wish list that has evolved over time to money.


Pledge a bounty for a specific task by writing a message to the 9front mailing list. Say what you mean, offer a definite price, and be prepared to pay up when someone fulfills your request, deadbeat.


Searchable PDFs in page $200

"look" command that allows me to search for text in PDFs

3D Accelerated Graphics $1


fully functional, read/write hgfs $55

Why should we need python and mercurial just to work with mercurial repositories?

fully functional, read/write gitfs $5

Why should anyone port git to Plan 9?

ICC color profiles $10

Support for calibrating displays using custom ICC color profiles. This is most useful for making livable laptops that have shitty LCD panels.

MP4/VP9 video support $200

Decoder and/or encoder. Details to be determined. Some work in this area was done by mischief and he was paid $200 of the original $400 bounty. Sigrid has take this a lot farther, displaying youtube videos in full motion.

vcardfs $5

File system for vCard files, preferably read AND write. sl will actually pay for this.

USB WiFi driver (you choose hardware) $5

Generally useful.

SSH server $5

SSH straight to 9front and authenticate with 9front user credentials. Potential use cases include: SSH from phones, serve git, etc.

fix/polish hubfs, or create TMUX-alike $5

When you SSH in from a phone, you don’t want to do a lot of typing to resume where you left off before your network connection dropped. kvik may qualify for this prize with pin(1).

dmenu-bar for the i3-like rio replacement with useful info 30 euros

Some info that should be possible to display: workspaces, system info (cpu load, memory load, network load, ...), digital 24h clock. If not configurable, the bar should be at the top of the screen on all work spaces.

configuration-file based customization of the i3-like rio replacement and dmenu-like bar 20 euros

A configuration file where key bindings and colours can be adjusted.

games/md Sega CD support $5

SNATCHER wasn’t a cartridge game.

games/tg16 TurboGrafx 16 $5

Should exist.

OneDrive file system 20€

Must Have (20€)

* File management (full CRUD support). * Works with OneDrive. * Works with Sharepoint Drives. * Works with official Microsoft servers (office.com stuff).

Should Have

* User keys in factotum. * No complicated configuration. Auth info, drive (and maybe server?) should be enough. * Native C preferred (9front).

Nice to Have (+5€)

* Access versions: File versions are provided by OneDrive/Sharepoint. Use these. * Lazy caching: OneDrive protocol provides sha1sums. Files could be stored in a persistent cache (simple directory?). cat file >/dev/null& for manually caching is fine. * some way to show files are cached (maybe with ls?).

arm64 golang + gofmt $550

I will also accept simply being able to run GOOS=plan9 GOARCH=amd on the 64-bit plan9 pi image.

DONE (pay up, deadbeats)

Intel 8260 WiFi driver $5

sl’s ThinkPad X1 Tablet 1st Gen can’t WiFi. DONE (pay cinap)

dwm/i3/sway-like rio replacement 50 euros

10 work spaces, tiling, start terminal with $mod+enter, switch work space with $mod+number. DONE (paid sigrid)

Native Intel VGA Driver $260

People want to be able to access resolutions not presented via VESA. DONE (pay cinap)

Bookmark Support in page(1) $10

People want to bookmark things in PDFs and such, to come back to later. (How about generic "snarf where I am" support? Some want to copy image path/name.) DONE (pay cinap)

Quake $5

Apparently Doom is not good enough. DONE (pay qwx)

bsdemu $1

Linuxemu is the Linux treadmill. Since the point of all this is being able to run software not supported in Plan 9, rather than simply worshipping Linux, OpenBSD makes more sense as a base platform, since the contents of its ports tree are both 1.) (now) reasonably up to date, and 2.) to some extent, pre-checked for abrigations of sanity. Syscalls are still out of control, but let’s examine the real cost/benefit of the emulation approach. DONE (see vmx(1)) (pay aiju)

look $5

put the look command in rio DONE (pay cinap)

fix webfs to work with livejournal.com $1

Currently, after logging in to livejournal.com, webfs gets stuck in a 302 redirect loop when visiting any account_name.livejournal.com virtual host. DONE (pay cinap)

replace p9sk1 with something better $10

We’re sitting ducks. DONE (pay cinap)

qemu or qemu-alike $50

PC hardware virtualization. Expose guest resources to the host. Forget about linuxemu/bsdemu forever. DONE (see vmx(1)) (pay aiju)

improve TLS support $10

The tls(3) device implements the record layer protocols of Transport Layer Security version 1.0 and Secure Sockets Layer version 3.0. It does not implement the handshake protocols, which are responsible for mutual authentication and key exchange. 9fans has debated what form expansion of TLS should take. Wanted: more ciphers, support for user certificates, support for certificate verification. ECDSA! ECDHE! Also: SNI support in tlssrv.

Some work has already been done:

libsec: implement tlsClient support for RFC6066 server name identification (SNI) (pay cinap)

libsec: add TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA client cipher suit support (pay cinap)

libsec: add aes_128_cbc and aes_256_cbc ciphers (pay mischief)

libsec/x509: use SHA2-256 digest algorithm instead of MD5 (pay cinap)

libsec/tlshand: implement client side ECDHE (pay pr)

libsec: TLS1.1 support (needs new devtls) (pay cinap)

libsec: TLS1.2 client support (pay cinap)

libsec: TLS1.2 server support, make cipher list with most prefered first (pay cinap)

libsec: add TLS_RSA_WITH_AES_128_CBC_SHA256 and

TLS_RSA_WITH_AES_256_CBC_SHA256 ciphers (pay mischief)

libsec: add curve25519() from http://code.google.com/p/curve25519-donna/ (pay cinap)

libsec: add rfc5869 hmac-based key derivation function hkdf_x() (pay cinap)

libsec: add TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 and

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 cipher suits (pay cinap)

libsec: implement client certificate authentication for tls1.2 (pay cinap)

libsec: add poly1305 (pay cinap)

libsec: add chacha cipher (from charles forsyth) (pay cinap)

libsec: add chacha20 poly1305 aead, allow 64 bit iv’s for chacha, add tsmemcmp() (pay cinap)

tls: implement chacha20/poly1305 aead cipher suits (pay cinap)

libsec: add salsa20 stream cipher (pay cinap)

libsec: ecdsa client support for tlshand (pay cinap)

libsec: add libc.h include for aes_xts.c (drawterm) (pay cinap)

libsec: implement elliptic curve group operations in jacobian coordinate system (pay cinap)

libsec: implement server side SCSV preventing silly client fallbacks (pay cinap)

shit ton of other tls work (pay cinap)

FQA INDEX | FQA 9 - Troubleshooting | Appendix G - GSOC