Source: djbwares
Priority: optional
Maintainer: Jonathan de Boyne Pollard <J.deBoynePollard-newsgroups@NTLWorld.com>, Gerrit Pape <pape@smarden.org>
Build-Depends: redo, xmlto, pax
Rules-Requires-Root: no

Package: djbwares-guide
Architecture: amd64
Section: doc
Depends:
Suggests:
Recommends:
Description: User guide for the various djbwares packages.
  .

Package: publicfile
Architecture: amd64
Section: web
Depends: ${shlibs:Depends}
Suggests: nosh-exec | ucspi-tcp | ucspi-ssl
Recommends: leapsecs
Description: Static content UCSPI HTTP, FTP, NICNAME, GEMINI, and GOPHER servers
 httpd, ftpd, geminid, nicnamed, and gopherd serve (the same) static content from a local directory to remote users.
 .
 geminid requires an SSL server; the others can be used with either straight TCP or SSL.
 .
 File dates use Bernstein's date library, and so the Bernstein leap seconds database is a recommended accompaniment.

Package: clockspeed
Architecture: amd64
Section: admin
Depends: ${shlibs:Depends}
Suggests:
Recommends: leapsecs
Description: Maintain system clock from RTDSC and SNTP
 clockspeed uses a hardware tick counter to compensate for a persistently fast or slow system clock.
 Given a few time measurements from a reliable source, it computes and then eliminates the clock skew.
 .
 sntpclock checks another system's NTP clock, and prints the results in a format suitable for input to clockspeed.
 sntpclock is the simplest available NTP/SNTP client.
 .
 taiclock and taiclockd form an even simpler alternative to SNTP.
 They are suitable for precise time synchronization over a local area network, without the hassles and potential security problems of an NTP server.
 .
 This version of clockspeed can use the Pentium RDTSC tick counter or the Solaris gethrtime() nanosecond counter or the ARM count register.

Package: daemontools
Section: admin
Architecture: any
Suggests: daemontools-run | runit
Depends: ${shlibs:Depends}
Replaces: daemontools-doc
Description: a collection of tools for managing UNIX services
 supervise monitors a service.
 It starts the service and restarts the service if it dies.
 Setting up a new service is easy: all supervise needs is a directory with a run script that runs the service.
 .
 multilog saves error messages to one or more logs.
 It optionally timestamps each line and, for each log, includes or excludes lines matching specified patterns.
 It automatically rotates logs to limit the amount of disk space used.
 If the disk fills up, it pauses and tries again, without losing any data.

Package: multilog
Section: admin
Architecture: any
Conflicts: daemontools
Depends: ${shlibs:Depends}
Description: just Bernstein multilog on its own
 multilog saves error messages to one or more logs.
 It optionally timestamps each line and, for each log, includes or excludes lines matching specified patterns.
 It automatically rotates logs to limit the amount of disk space used.
 If the disk fills up, it pauses and tries again, without losing any data.

Package: taiclockd
Section: admin
Architecture: any
Conflicts: clockspeed
Depends: ${shlibs:Depends}
Recommends: leapsecs
Description: just Bernstein taiclockd on its own
 taiclock and taiclockd form an even simpler alternative to SNTP.
 They are suitable for precise time synchronization over a local area network, without the hassles and potential security problems of an NTP server.

Package: djbdns
Section: web
Architecture: amd64
Depends: ${shlibs:Depends}
Suggests: djbdns-host
Recommends:
Description: djbdns built by JdeBP
 dnscache is a caching proxy DNS server that takes queries from local client programs, looks up data on remote servers, and combines those data into the answers that it sends back to the local clients.
 .
 tinydns is a general purpose content DNS server, with ancillary tools tinydns-data to compile its database, tinydns-edit to edit its database (in scripts), and tinydns-get to check its database locally.
 .
 axfrdns is the equivalent content DNS server that provides the same service from the same data except as DNS/TCP rather than as DNS/UDP.
 .
 walldns and rbldns are special purpose servers, with ancillary tols walldns-data and rbldns-data.
 .
 dnsq, dnsqr, dnsqrx, dnsname, dnsnamex, dnsip, dnsmx, dnsns, dnstrace, and dnstracesort are various tools for diagnosing DNS problems and for performing various DNS queries.
 .
 axfrdns is a UCSPI-TCP server program.  dnscache, tinydns, walldns, and rbldns all understand the LISTEN_FDS protocol and can be run with their listening sockets passed to them by nosh tools or systemd.

Package: ptyget
Architecture: amd64
Section: admin
Depends: ${shlibs:Depends}
Suggests:
Recommends:
Description: ptyget built by JdeBP
 ptyget is a universal pseudo-terminal interface.
 It is designed to be used by any program that needs a pty.
 It can also serve as a wrapper to improve the behavior of existing programs.
 .
 ptyget can also serve as a wrapper to improve the behavior of existing programs.
 For example, ``ptybandage telnet'' is like ``telnet'' but can be put into a pipeline.
 ``nobuf grep'' is like ``grep'' but won't block-buffer if it's redirected.
 .
 Previous pty-allocating programs---rlogind, telnetd, sshd, xterm, screen, emacs, expect, etc.---have caused dozens of security problems.
 There are two fundamental reasons for this.
 First, these programs are installed setuid root so that they can allocate ptys; this turns every little bug in hundreds of thousands of lines of code into a potential security hole.
 Second, these programs are not careful enough to protect the pty from access by other users.
 .
 ptyget solves both of these problems.
 All the privileged code is in one tiny program.
 This program guarantees that one user can't touch another user's pty.
 .
 ptyget is a complete rewrite of pty 4.0, Bernstein's previous pty-allocating package.
 pty 4.0's session management features have been split off into a separate package, sess.
 .
 This version has been patched to be buildable by redo(1) and to recognize and use the new POSIX 2001 (Unix98) ptmx library functions instead of System V Streams ioctl()s.

Package: ucspi-tcp
Architecture: any
Depends: ${shlibs:Depends}
Section: net
Replaces: ucspi-tcp-doc
Description: command-line tools for building TCP client-server applications
 tcpserver waits for incoming connections and, for each connection, runs a program of your choice.
 Your program receives environment variables showing the local and remote host names, IP addresses, and port numbers.
 .
 tcpserver offers a concurrency limit to protect you from running out of processes and memory.
 When you are handling 40 (by default) simultaneous connections, tcpserver smoothly defers acceptance of new connections.
 .
 tcpserver also provides TCP access control features, similar to tcp-wrappers/tcpd's hosts.allow but much faster.
 Its access control rules are compiled into a hashed format with cdb, so it can easily deal with thousands of different hosts.
 .
 This package includes a recordio tool that monitors all the input and output of a server.
 .
 tcpclient makes a TCP connection and runs a program of your choice.
 It sets up the same environment variables as tcpserver.
 .
 This package includes several sample clients built on top of tcpclient: who@, date@, finger@, http@, tcpcat, and mconnect.
 .
 tcpserver and tcpclient conform to UCSPI, the UNIX Client-Server Program Interface, using the TCP protocol.
 UCSPI tools are available for several different networks.

Package: libtai
Architecture: amd64
Section: admin
Depends: 
Suggests:
Recommends: leapsecs
Description: libtai built by JdeBP
 libtai is a library for storing and manipulating dates and times.
 .
 libtai supports two time scales: (1) TAI64, covering a few hundred billion years with 1-second precision; (2) TAI64NA, covering the same period with 1-attosecond precision.
 Both scales are defined in terms of TAI, the current international real time standard.
 .
 libtai provides an internal format for TAI64, struct tai, designed for fast time manipulations.
 The tai_pack() and tai_unpack() routines convert between struct tai and a portable 8-byte TAI64 storage format.
 libtai provides similar internal and external formats for TAI64NA.
 .
 libtai provides struct caldate to store dates in year-month-day form.
 It can convert struct caldate, under the Gregorian calendar, to a modified Julian day number for easy date arithmetic.
 .
 libtai provides struct caltime to store calendar dates and times along with UTC offsets.
 It can convert from struct tai to struct caltime in UTC, accounting for leap seconds, for accurate date and time display.
 It can also convert back from struct caltime to struct tai for user input.
 Its overall UTC-to-TAI conversion speed is 100x better than the usual UNIX mktime() implementation.
 .
 This version of libtai requires a UNIX system with gettimeofday().
 It will be easy to port to other operating systems with compilers supporting 64-bit arithmetic.

Package: taitools
Architecture: amd64
Section: admin
Depends: ${shlibs:Depends}
Suggests:
Recommends: leapsecs
Description: tools for calendars, dates, and general TAI10 work
 taitools contains various TAI10 utilities:
 .
 * nowutc: print the current TAI10 time in human-readable form
 * easter: print the date and MJD for Easter in a given (proleptic) Gregorian year
 * leapsecs: compile a new leapsecs.dat table
 * yearcal: print a compact calendar for a given (proleptic) Gregorian year

Package: leapsecs
Architecture: amd64
Section: admin
Depends:
Suggests:
Recommends:
Description: leapsecs from libtai built by JdeBP
 This contains only the compiled leap seconds database.
 The database compiler tool is in the taitools package.

Package: djbdns-host
Architecture: amd64
Section: web
Depends: ${shlibs:Depends}
Suggests: djbdns
Recommends:
Provides: host
Conflicts: bind9-host, knot-host
Description: host utility built upon the djbdns DNS client
 This is a cut-down host utility, similar to the ones supplied with BIND, KnotDNS, and FreeBSD.
 .
 It has no dependence upon special DNS library packages, and it uses the conventional djbdns mechanisms for name qualification and suchlike.
