about summary refs log tree commit diff
path: root/lisp (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-07-23 r/1438 feat(web/panettone): Read config from envGriffin Smith2-1/+8
Read the port and data directory from environment variables, in preparation for deploying as a systemd unit to Whitby Change-Id: I066dced7b7926b6bdc77132d13a4da6c886b20e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1338 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1433 feat(web/panettone): The start of a very simple issue trackerGriffin Smith1-2/+2
Initial commit for Panettone, a very simple issue tracker for TVL. In its current state this launches a web server with authenticates with our ldap server, and supports listing and creating issues via static html pages and simple forms. We've been needing an issue tracker for a while now, but none of the options out there seem very good - or there are some good ones, but they're AGPL licensed and we don't want to deal with them. Rather than muck around with Trac or Bugzilla, we've decided to write our own. Change-Id: I704f0996d15199329bbd5450f3d959046bf13973 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1337 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1422 feat(klatre): add dottime-format functionGriffin Smith3-1/+28
Add a function to klatre format a timestamp using dottime Change-Id: I24d8d91f49f352b606f44834f7229ab55b55afa0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1344 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-23 r/1421 feat(lisp/klatre): Add klatre, a grab-bag lisp util packageGriffin Smith3-0/+89
Add Klatre, a grab-bag common lisp utility package, including definitions for `comment`, `posp`, `chunk-list`, and `mapconcat`. The name traces its lineage back to Abseil, a similar grab-bag utility library for C++ - abseiling is what you do to go down a route after you're done climbing it, and klatre is norwegian for "to climb" Change-Id: I5efd91d8af827883679ce1a2eed3229b28e082ac Reviewed-on: https://cl.tvl.fyi/c/depot/+/1346 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-02-21 r/559 chore: Rename pkgs->depot in all Nix file headersVincent Ambo1-3/+3
2020-01-27 r/466 refactor(lisp/dns): Return dns-answer from query functionsVincent Ambo2-2/+10
2020-01-27 r/465 docs(lisp/dns): Add initial README fileVincent Ambo1-0/+75
2020-01-27 r/464 feat(lisp/dns): Support CNAME & NS record RDATAsVincent Ambo2-378/+64
2020-01-27 r/463 refactor(lisp/dns): Refactor structure of lookup-generic callsVincent Ambo1-9/+12
2020-01-26 r/460 chore(lisp/dns): Remove unused dependenciesVincent Ambo1-2/+0
2020-01-26 feat(lisp/dns): Export struct fieldsVincent Ambo1-3/+3
2020-01-26 feat(lisp/dns): Introduce enum for DNS types & decode RDATAVincent Ambo1-2/+21
Adds some of the most common DNS types in the enum (others TBD), and starts decoding RDATA for TXT and A.
2020-01-26 chore(lisp/dns): Add 'message.lisp' to build instructionsVincent Ambo1-0/+1
2020-01-26 feat(lisp/dns): Use new DNS deserialiser in dns:lookup-genericVincent Ambo1-152/+52
This enables arbitrary DNS lookups (with the caveat that RRDATAs are currently not deserialised into a record-type-specific format). An error condition has been defined for error-responses from the HTTP server which provides interactive restarts for attempting a new call with different parameters.
2020-01-26 feat(lisp/dns): Implement qname compression parsingVincent Ambo1-270/+29
Implements support for the compresion scheme used in binary DNS messages. This makes it possible to decode messages entirely, but not yet actually resolve the labels to their "real" values. All qnames are stored with file-offsets pointing at the position at which their reading started, which enables the implementation of a function to resolve pointers internally.
2020-01-26 refactor(lisp/dns): Introduce structured QNAME representationVincent Ambo1-31/+51
Adds a struct that represents QNAMEs, tracks the stream offset at which the QNAME parsing began and makes it possible to resolve pointers inside of the QNAME. Note that resolving pointers needs to happen *after* the call to lisp-binary currently. It might be possible to implement this inside of lisp-binary in the future by switching on the top two bits of the qname field, but since this is happening *inside* of a reader function I'm not currently sure how to implement it.
2020-01-26 feat(lisp/dns): Check in initial DNS message implementationVincent Ambo1-0/+931
This uses lisp-binary to define serialisation types for the DNS messages defined by RFC 1035. Currently the compression scheme used for QNAMEs is not supported, hence deserialisation of even simple records fails after the header and question sections are read.
2020-01-26 refactor(lisp/dns): Split package into multiple filesVincent Ambo4-31/+182
Adds a package definition file and moves the current client into client.lisp Note that the client is not working at all at this commit as this is a work-in-progress snapshot.
2020-01-22 r/448 feat(lisp/dns): Check in very early DNS-over-HTTPS clientVincent Ambo2-0/+44
This includes very barebones support for querying TXT and MX records right now. The returned structure is not turned into a more convenient format and error handling is, well, NIL.