Commit graph

1317 commits

Author SHA1 Message Date
cinap_lenrek c2297ce5c1 kernel: use 64-bit virtual entry point for expanded header, document behaviour in a.out(6)
For 64-bit architectures, the a.out header has the HDR_MAGIC flag set
in the magic and is expanded by 8 bytes containing the 64-bit virtual
address of the programs entry point. While Exec.entry contains physical
address for kernel images.

Our sysexec() would always use Exec.entry, even for 64-bit a.out binaries,
which worked because PADDR(entry) == entry for userspace pointers.

This change fixes it, having the kernel use the 64-bit entry point
and document the behaviour in the manpage.
2021-05-29 14:18:35 +02:00
cinap_lenrek d168b89ab1 mkpaqfs(8): allow setting compression level 2021-05-23 17:06:14 +02:00
Ori Bernstein 2321062d2f 9pfid(2): document Srv* in Req (thanks kjn)
This struct member is available for any user of
the library, and is not part of our internal API.
It should be documented.
2021-05-17 09:17:22 -07:00
Ori Bernstein 1ee1bfaa8c git: got git?
Add a snapshot of git9 to 9front.
2021-05-16 18:49:45 -07:00
cinap_lenrek 013b2cad19 memory(2): mention tsmemcmp (thanks kemal) 2021-05-15 12:40:11 +02:00
foura e72da62915 ip/ftpd: Add explict and implicit FTPS support.
Removed:
- Challenge reponse auth.
- Noworld login.
- Anonymous users writing files to /incoming.
2021-05-02 15:29:43 +01:00
qwx 7048f1ca11 games/opl3: use correct sampling rate
games/dmid uses the same sample rate as the chip for music, but other
applications do not.  opl3 and its older version opl2 (not in 9front)
read an input stream of commands in basically IMF format, something
used in other id Software games and some others, which assumes a
given input sampling rate:  700 Hz for Wolfenstein 3D music, 560 Hz
for Commander Keen, 60 Hz for Ultima 6, etc.

The opl3 emulation on the other hand is not really intended to run at
a sampling rate different that the chip's 49.716 kHz sampling rate.
Previously, we assumed it runs at 44.1 kHz and just used the input
rate as a divisor to get the number of samples per delay tic.

From what I understand, the correct way to use it for accurate
emulation is to run the opl chip emulator at its intended sampling
frequency, then downsample to 44.1 kHz.  This means better output
but more code.  The alternative is to basically do the same as
before rev 8433, except with no buffering, but at accuracy/quality
loss.  This change implements the former and just forks pcmconv to
deal with resampling.
2021-05-05 16:57:19 +02:00
Sigrid 54ef5ea0a5 zuke(1): more fixes (thanks humm) 2021-05-04 15:32:35 +02:00
Sigrid c92d7e3ced zuke(1): engrish (thanks qwx) 2021-05-04 15:21:44 +02:00
Sigrid fd785b5546 add zuke(1) manpage (thanks kemal & humm) 2021-05-04 14:52:05 +02:00
cinap_lenrek ee289c2415 lib9p: remove Srv.srvfd, make postsrv() and threadpostsrv() return the mountable file descriptor, update documentation
Now that we have these new functions,
we can also make them return an error
instead of calling sysfatal() like
postmountsrv().

Remove the confusing Srv.srvfd, as it
is only temporarily used and return
it from postsrv() instead.
2021-05-01 19:58:58 +02:00
cinap_lenrek f6509078ed lib9p: expose Srv.forker handler and srvforker(), threadsrvforker() and threadsrv() functions
To use srvrease()/srvaquire() we need to have a way to spawn
new processes to handle the service loop. This functionality
was provided by the internal _forker() function which was
eigther rfork or libthread based implementation depending on
if postmountsrv() or threadpostmountsrv() where called.

For servers who want to use srv() directly, _forker would not
be initialized so srvrelease() could not be used.

To untangle this, we get rid of the global _forker handler
and put the handler in the Srv structure. Which will get
initialized (when nil) to eigther srvforker() or threadsrvforker()
depending on if the thread or non-thread entry points where used.

For symmetry, we provde new threadsrv() and threadpostsrv()
functions which handle the default initialization of Srv.forker.

This also allows a user to provide his own forker function,
maybe to conserve stack space.

To avoid dead code, we put each of these function in their
own object file. Note, this also allows a user to define its
own srvforker() symbol.
2021-05-01 16:37:00 +02:00
qwx c3593c1a7a opl3(1), exec(2): fix manpage typos (thanks umbraticus) 2021-04-27 16:08:06 +02:00
qwx af2f7ea236 games/opl3: don't buffer output and simplify (thanks umbraticus)
this fixes real-time applications.

-n previously specified a rate divisor rather than the rate itself,
which was used for specific applications outside of 9front.  instead,
just set the rate directly, more useful and straightforward.
2021-04-27 09:48:14 +02:00
Sigrid c613382caf remove juke (use play or zuke instead) 2021-04-13 13:25:24 +02:00
Sigrid b777d3fe7d remove old, broken scripts: fedex, u(s)ps, weather (thanks fulton) 2021-04-13 11:26:55 +02:00
Romano aebdf1010b minor man page typos 2021-04-08 21:42:31 +02:00
Stephen Gregoratto 4c981d440d [9front] walk: properly format permissions
This patch adds dirmodefmt from fcall.h to pretty-print file
permissions, similarly to ls -l. I didn't notice any performance
degradation.

I hope no-one relied on the old behaviour.
2021-04-06 14:43:38 +02:00
cinap_lenrek 74befadb14 games/glendy: don't use lucida sans in menus by default and bugfix (thanks kemal)
i have found one bug. when i put glenda in a position like this

i somehow win, but the glenda can escape from there.

in addition, i have changed the games manpage to include more info about glendy.
2021-04-02 22:05:15 +02:00
Romano a398a09783 [9front] [patch] nusb/ether -t rndis 2021-04-01 12:54:08 +02:00
rgl 2f55920a22 audio(1): fix little typo. 2021-03-13 09:47:48 +01:00
kemal ea347ee7f1 [9front] [PATCH] fix small typo in vmx(3)
vmx(3) does not use itself to implement virtual machines.
2021-03-06 22:52:00 +01:00
sl 4083ff093e /sys/man/1/mothra: eu regulations require that we disclose we're sending search queries to duckduckgo. 2021-03-02 22:56:58 -05:00
Sigrid 2aba7615af mothra: add "d" command to search for a text on the internet (using duckduckgo) 2021-03-02 08:21:56 +01:00
moody f704965a45 B, Bfn: fix invocation with multiple files, improve manual page 2021-02-27 19:35:06 +01:00
cinap_lenrek 27ad886c95 ip/tftpd: add -n namespace-file flag (thanks sam-d)
tftpd currently unconditionally sets its namespace via /lib/namespace
(newns("none", nil)), which stymied my attempts to pxe boot the
openbsd installer without creating a real /etc dir on 9front, which
would've been gross.

I tried working around this with -h (and -r for good measure), but
again hit issues because the namespace is rebuilt from scratch -- any
binds of /386, /amd64, /cfg/pxe, etc. into the tftp-specific directory
disappeared from tftpd's namespace and rendered my *9front* boxes
unable to boot. I could maintain copies of the needed files in the
tftp-specific directory, but that'd be kind of a drag.

The following patch adds a -n flag to allow the specification of a
namespace file in place of /lib/namespace; similar to ip/ftpd.

I thought about setting up a /lib/namespace.tftp to act as a default
rather than continuing to use /lib/namespace by default (which
security-wise is about the same as allowing 9p mounts by user none,
which I also have disabled), but I had trouble coming up with a sane
default. Maybe someone more experienced would like to try that out.

- sam-d
2021-02-23 01:47:33 +01:00
kvik bc1cc79225 libstdio: sync bits of vfprintf from APE
* Add the %ll length modifier,
* Convert nil to "<nil>" under %s (not in APE),
* Cast void* to uintptr under %p,
* Use "0x" hex prefix under %p,
* Fix manual page mentions of %P to %p,
* Fix empty result for fp conversions,
* Fix zero padding of left-aligned fp conversions,
* Remove deprecated #pragma ref uses.

Most of these were introduced in APE prior to 9front.

I've omitted the %z conversion specifier since Plan 9 code
rarely uses the usize type. This may need to be added later
for the benefit of native ports of alien code.
2021-02-19 23:04:09 +01:00
kvik 1ce6f0f2ab nan(2): document isInf(x, 0) matching +∞ and -∞ 2021-02-18 21:40:30 +01:00
Alex Musolino b562b269ce test: fix expression parser
The old parser code was rubbish and only worked for trivial
expressions.  The new code properly handles complex expressions,
including short circuit evaluation.

As such, the BUGS section has been removed from the test(1) man page.
The description of an unimplemented feature has also been removed.
2021-02-06 15:51:09 +10:30
Ori Bernstein 79c4c039ab acmemail(1): Nail => Mail
Forgot to change the program name when importing
the rewrite.
2021-02-03 11:09:43 -08:00
Ori Bernstein bee6271ae1 Mail: rewrite.
Acme mail made it hard to do threading, so I wrote a new one.
2021-01-29 17:34:47 -08:00
Michael Forney 443d5256bd [9front] nusb(4): fix typo 2021-01-23 19:46:57 -08:00
Ori Bernstein 51319cc5b5 upas/runq: bring back -a
Turns out -a is useful in crontab, so bring
back a simplified version of it. This only
iterates through directories one at a time.
2021-01-23 16:05:21 -08:00
Ori Bernstein f321298c55 upas/runq: support parallel queue processing, drop -a
When running a mail queue, it's useful to run it with limited
parallelism. This helps mailing lists process messages in a
reasonable time.

At the same time, we can remove the load balancing from runq,
since the kinds of systems that this matters on no longer
exist, and running multiple queues at once can be better
done through xargs.
2021-01-23 11:03:05 -08:00
cinap_lenrek 5e20e8f963 vt(1): document optional command argument (thanks sl) 2021-01-23 18:42:46 +01:00
Ori Bernstein 161560d8e8 dd(1): update manpage to match program
Document the dd changes
2021-01-19 15:18:57 -08:00
Ori Bernstein b3548406b5 acme(1): add references to appropriate manpages 2021-01-18 17:55:01 -08:00
Ori Bernstein 8c9cbbb142 passwd: make legacy mode explicit
Passwd used to produce a very confusing error
about DES not being enabled whenever the password
was mistyped. This happened because we attempted
to guess what authentication method to use, and
preseneted the error from the wrong one on failure.

This puts the legacy mode behind a flag, so that
we don't even try the old method unless it's
explicitly requested.
2021-01-17 18:01:53 -08:00
cinap_lenrek 0abb102137 plan9.ini(8): document *nohpet= option 2021-01-17 21:28:45 +01:00
Ori Bernstein 82c892a697 zerotrunc(8): add manpage 2021-01-16 16:17:27 -08:00
Ori Bernstein 48555e785a troff2png(1): add manpage 2021-01-16 16:17:10 -08:00
Ori Bernstein e2e973a34b tmdate(2): correct example in manpage
add missing tmdate() call around %τ format.
2021-01-16 14:24:32 -08:00
Sigrid 0f3ef52fd7 tweak: support showdata plumb action (thanks sirjofri) 2021-01-16 18:30:50 +01:00
Sigrid 806f97a47b cal: add -s option to specify the starting day of the week 2021-01-12 13:23:37 +01:00
Sigrid 54e1b8431e audio(1): it is 2021 now 2021-01-12 09:24:10 +01:00
Sigrid ce82f6750c audio/flacenc 2021-01-11 15:45:12 +01:00
Ori Bernstein c207b78d07 libdraw: add bezierpts
This patch exposes the bezierpts function,
providing a way to get the points on a path,
similar how bezsplinepts gives them for b
splines.
2021-01-09 12:20:49 -08:00
Ori Bernstein dda99bbfe5 9pfid(2): document struct Qid (thanks sirjofri)
The Qid struct is pervasive when writing 9p servers,
but is not described in the manpages. This adds a
definition to the 9pfid manpage.
2021-01-06 10:07:10 -08:00
cinap_lenrek 76ed42e31f marshal(1): fix example: upas/mail -> mail (thanks fulton) 2021-01-04 00:24:39 +01:00
cinap_lenrek 0e632454e2 aux/vga: remove panning, add screen tilting support 2020-12-27 23:10:39 +01:00
cinap_lenrek 806353ec9e devvga: implement screen tilting, remove panning and overlays
Tilting allows using left/right rotated or invetrted display orientation.
This can be changed at runtime such as: echo tilt right > /dev/vgactl
This removes the old panning and vga overlays as they are only implemented
with some ancient vga controllers.
2020-12-27 23:08:59 +01:00
cinap_lenrek dced7255ec libc: re-implement getuser() by stating /proc/$pid/status
The idea is to avoid the magic files that contain
per process information in devcons when possible.
It will make it easier to deprecate them in the future.
2020-12-23 02:31:28 +01:00
cinap_lenrek 1619629835 upasfs(4): fix small typos (thanks igor) 2020-12-22 17:44:26 +01:00
Alex Musolino f2919dfd14 rio(4): list window states in order (thanks umbracticus) 2020-12-22 10:11:03 +10:30
cinap_lenrek fc5070c600 libauth: add procsetuser() function to change user id of the calling process
Provide a central function to change the user id
of the calling process.

This is mostly used by programs to become the none
user, followed by a call to newns().
2020-12-19 17:46:55 +01:00
cinap_lenrek 672cf179a1 libc: implement getppid() reading /proc/$pid/ppid instead of /dev/ppid
The devcons driver is really the wrong place to
serve per process information.
2020-12-19 15:15:38 +01:00
cinap_lenrek d919ad3b5e devsons: remove #c/pgrpid
The process group id is essentially a unique id
of the namespace but it was never well documented
nor is it used by any program.
2020-12-19 14:59:19 +01:00
Ori Bernstein c2aa8c997a hpost: support custom headers (thanks julienxx)
hget supports adding custom headers with -r;
it makes sense for hpost to do the same, both
because custom headers are more likely necessary
with POSTs, and for consistency.
2020-12-17 20:26:38 -08:00
cinap_lenrek 08a9a6952d cpu(1): refer to oexportfs(4) 2020-12-13 20:11:44 +01:00
cinap_lenrek 6f932de718 import(4): refer to oexportfs(4) 2020-12-13 20:11:30 +01:00
cinap_lenrek 27a83106f4 oexportfs: move legacy code for cpu and import to separate program
The initial protocol handling in exportfs for
cpu and import services is a huge mess.

Saparate the code out into its own program with
its own oexportfs(4) manpage.
2020-12-13 20:09:03 +01:00
cinap_lenrek 0b33b3b8ad kernel: implement per file descriptor OCEXEC flag, reject ORCLOSE when opening /fd, /srv and /shr
The OCEXEC flag used to be maintained per channel,
making it shared between all the file desciptors.

This has a unexpected side effects with regard to
channel passing drivers such as devdup (/fd),
devsrv (/srv) and devshr (/shr).

For example, opening a /srv file with OCEXEC
makes it impossible to be remounted by exportfs
as it internally does a exec() to mount and
re-export it. There is no way to reset the flag.

This change makes the OCEXEC flag per file descriptor,
so a open with the OCEXEC flag only affects the fd
group of the calling process, and not the channel
itself.

On rfork(RFFDG), the per file descriptor flags get
copied.

On dup(), the per file descriptor flags are reset.

The second modification is that /fd, /srv and /shr
should reject the ORCLOSE flag, as the files that
are returned have already been opend.
2020-12-13 16:04:09 +01:00
kvik 07d3d9bf0c sega(1): fix keys (thanks bigato) 2020-12-08 21:20:13 +01:00
cinap_lenrek 5149f204b7 plan9.ini(8): document *nomtrr= and order the table 2020-12-08 17:16:12 +01:00
Sigrid e812aa617f mouse(3): blankS, setS to follow the convention (thanks umbraticus) 2020-12-08 10:34:10 +01:00
Sigrid 014bf3fe7c mouse(3): document "scrollswap" ctl message, fix style a bit (thanks umbraticus) 2020-12-08 10:21:17 +01:00
Sigrid 96850d8bb4 vmx: add -D option to enable debug messages, use vmdebug for non-fatal "errors" 2020-12-08 10:01:44 +01:00
cinap_lenrek c74458c98b vmx: add -v|-w flag to control window creation behaviour
The -v flag now does not create a new rio window,
while -w flag does (restores the old behaviour).

This allows vmx to run under vncs and is in general
mode aligned to other emulators and programs.
2020-12-07 18:59:54 +01:00
kvik d15439ee76 ptrap: implement filtering on plumb attributes 2020-12-06 21:52:01 +01:00
Sigrid 66b6185845 amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disable 2020-12-06 18:48:32 +01:00
Sigrid ecb12c8718 aux/status^(bar msg): few small fixes (thanks umbraticus) 2020-12-06 11:55:27 +01:00
Sigrid 4ca5e1b3a3 faces: add -c option to remove faces with button 1 click (thanks sirjofri) 2020-12-04 09:33:55 +01:00
Ori Bernstein 07e8c324a8 tmdate(2): remove lies
Initially the code tried to guess the date format. This
turned out to be a bit too magical, so the feature was
removed, but the manpage still documented the nonfeature.
2020-11-30 07:41:49 -08:00
Sigrid c696998ec3 fplot(1): use abs() 2020-11-27 10:35:57 +01:00
mischief d1dc287210 9boot(8): update manual to reflect efi loader search order changes
the efi loader now looks for plan9.ini and the kernel in the ESP
first, before looking elsewhere.
2020-11-21 14:55:33 -08:00
Sigrid 808acd51f4 tmdate(2): failed to (p)arse 2020-11-18 20:14:26 +01:00
Sigrid 23620bb1db ctime(2): add tmdate(2) to "see also" 2020-11-18 20:11:55 +01:00
Ori Bernstein 30b7ca54c3 pop3(1): write options consistently
The pop3 options were prefixed with a '-'; the
imap4d options were not. Proofreading, foolks.
2020-11-08 09:34:39 -08:00
Ori Bernstein 4257a5292a upas/marshal: add -S saveto to save outgoing mail, fix -F
Upas/marshal -F was broken with the '-8' command, and silly
without it: It used aliases passed on the command line, so
the destination address was ignored with -8 was passed.

In addition, it would create a new mailbox for any aliases
being sent to, instead of putting them all in one location.

The new -S option is similar to -F, but specifies where the
message should go.
2020-11-06 18:15:15 -08:00
Sigrid f4d2067373 audio/wavdec: add -s option 2020-11-02 11:46:50 +01:00
Ori Bernstein dbd54342fd libbio: add aux pointer to bio
This allows us to attach additional context
to the biobuf so can read from some sort of
data structure without a global variable.
2020-11-01 11:42:54 -08:00
Ori Bernstein 9bb519ac50 mp(2): correct documentation of error handling (thanks LordCreepity)
The documentation for mp(2) claimed we'd return nil on error, when
we actually sysfatal. This corrects the documentation to match our
actual behavior.
2020-10-24 17:24:59 -07:00
Alex Musolino ebd23e51eb newuser(8): fix reference to incorrect file server console command 2020-10-23 17:51:03 +10:30
cinap_lenrek 0b094303f3 ndb/dnsdebug: add -c flag to debug caching dns server behaviour 2020-10-17 21:28:56 +02:00
kvik fa1d6ffd83 bootrc: allow kbmap to be set via plan9.ini (thanks Aaron Bieber) 2020-10-01 17:47:52 +02:00
Ori Bernstein 9afa5550f7 tmdate(1): fix missing arg, fix formatting (thanks joe9) 2020-09-25 21:22:47 -07:00
Ori Bernstein eb6b1e672c merge 2020-09-25 16:51:08 -07:00
Ori Bernstein 022bc980b8 tmdate(2): fix mistakes in prototype (thanks moody) 2020-09-25 16:32:32 -07:00
Ori Bernstein 9f8d62ab64 libc: ignore '?' in date format strings
Ignoring '?' when formatting date strings allows
the format strings to be reused for parsing. This
is convenient, since we don't need to duplicate
the format strings.
2020-09-22 19:24:01 -07:00
Ori Bernstein 8fe1d622b5 diff: support unified diff via -u
The format produced by `diff -u` is inferior to that
produced by `diff -c`, but it's what ape/patch and
unix patch expect, so it's useful to generate it.

This patch adds `diff -u`.
2020-09-21 09:40:42 -07:00
kvik aa7c8cac11 syscall: utility overhaul
Following is a list of functional changes:

* The -o flag outputs the entire buffer to the length returned
  by the syscall, or, in case of fd2path(2) and errstr(2), to '\0'.
* The -x flag is removed; the above makes it possible to pipe
  into xd(1) to get the same result.
* The -s flag uses dirfmt(2) to format the stat message, instead
  of trying to imitate ls(1).
* Stderr reports are normalized and made easier to parse.

The code also suffered a number of stylistic changes.
2020-09-20 14:49:12 +02:00
Ori Bernstein 26cf6ec073 tmdate(1): document tz field 2020-09-12 17:36:14 -07:00
Ori Bernstein 732082c095 ctime(2), tmdate(2): document ctime/tmparse incompatibility
Tmparse and ctime don't mix. The timezone name may be
too long for the number of characters ctime mandates.
Document this footgun.
2020-09-10 16:26:42 -07:00
Ori Bernstein 703b0d3e6d tmdate(2): one more typo
no more top arse. only bottom arse.
2020-09-07 19:32:50 -07:00
Ori Bernstein ce5b6036f0 tmdate(2): fix examples, stale references (thanks deuteron)
There were a number of ideas that were tried out as the tmdate
api evolved. As a result, there were some references in the
manpage to things that are no more.

Fix them.
2020-09-07 19:28:30 -07:00
Ori Bernstein 4a1186ddfe tmdate(2): fix name of tm struct
There was a leftover from when this library was separate
with different types.
2020-09-07 18:49:00 -07:00
Ori Bernstein cf5316a402 walk(1): improve wording, formatting
Clean up the wording of the walk(1) manpage,
improve the formatting of the format characters.
2020-09-03 20:07:44 -07:00
Ori Bernstein f444d6c3f2 tmparse: put in local timezone hack
Ctime is defined as printing a 3-character timezone
name. The timezone name is ambiguous. For example,
EST refers to both Australian and American eastern
time. On top of that, we don't want to make the
tzabbrev table exhaustive. So, we put in this hack:

Before we consult the well known table of timezones,
we check if the local time matches the timezone name.

On top of that, tm2sec

If you want unambiguous timezone parsing, use numeric
timezone offsets (Z, ZZ formats).
2020-09-01 19:32:45 -07:00
Alex Musolino 74bf624055 walk(1): fix typo 2020-08-29 18:23:59 +09:30
Ori Bernstein 26ac80481d walk(1): clarify how -n argument works (thanks umbraticus)
Make it clear what happens if you omit the ',' when
specifying '-n'.
2020-08-26 21:17:17 -07:00
Ori Bernstein 17abfa51ca libc: tmparse should ignore leading whitespace
We almost always want to skip leading whitespace in time
formats, so make tmparse just do it. This fixes upas mbox
parsing, which leaves a leading whitespace at the start of
the date.
2020-08-26 10:23:00 -07:00
Alex Musolino 8727bfd9bd getwd(2): add reference to chdir(2) in SEE ALSO section 2020-08-25 20:51:38 +09:30
Alex Musolino 6fe18e7c7b chdir(2): add reference to getwd(2) in SEE ALSO section 2020-08-25 20:51:24 +09:30
Alex Musolino 951a71012f torrent(1): update url in examples section 2020-08-21 10:06:22 +09:30
Ori Bernstein 8edfa693cb ip(3): fix typo in manpage (thanks jstsmthrgk) 2020-08-20 13:25:37 -07:00
Sigrid 81dba13271 audio/mp3dec: add -s SECONDS option 2020-08-12 10:43:46 +02:00
Sigrid 5fcf2040b4 audio(1): add new -s SECONDS option 2020-08-11 17:27:11 +02:00
Ori Bernstein 69c3c0e6f0 tmdate(2): fix typo (thanks mveety)
sysfata => sysfatal
2020-08-10 20:33:39 -07:00
Ori Bernstein 56e869ac70 libc: new date apis
The current date and time APIs on Plan 9 are not good. They're
inflexible, non-threadsafe, and don't expose timezone information.

This commit adds new time APIs that allow parsing arbitrary
dates, work from multiple threads, and can handle timezones
effectively.
2020-08-09 18:58:44 -07:00
kvik 0eb81f7320 mk9660(8): fix reference to proto file format 2020-08-01 16:17:29 +02:00
Sigrid edb6f64d35 aux/acpi: write a man page, fix usage, call threadexits 2020-07-30 11:25:14 +02:00
kvik 359362395f graphics(2): fix typo 2020-06-28 23:45:18 +02:00
cinap_lenrek 675ebaeca3 aux/trampoline: Implement inactivity timeout (-t option)
Using aux/trampoline to relay udp traffic needs a inactivity
timeout to be practical as there is no explicit connection
termination.
2020-06-27 16:40:53 +02:00
kvik f0ea4af5ef 9p(2): fix typo 2020-06-25 23:23:23 +02:00
Alex Musolino 86a77e5088 cifsd(8): fix typo (thanks senthil) 2020-06-18 12:11:06 +09:30
cinap_lenrek febe84af75 libc: revert date change again. this is getting ridicuoulus.
this breaks the sample from the seconds manpage, and overall
produces funky results. this needs alot more testing.

term% seconds '23 may 2011'
seconds: tmparse: invalid date 23 may 2011 near 'may 2011'

term% seconds '2019-01-01 00:00:00'
-118370073600
2020-06-15 00:12:57 +02:00
Ori Bernstein 8b3efcfc4e libc, seconds: new time and date apis (try 2)
Redo date handling in libc almost entirely. This allows
handling dates and times from outside your timezones,
fixes timezone loading in multithreaded applications,
and allows parsing and formatting using custom format
strings.

As a test of the APIs, we replace the formatting code in
seconds(1), shrinking it massively.

The last commit missed a few removals, and made it
unnecessarily hard to do an update.
2020-06-14 09:33:32 -07:00
cinap_lenrek f380851ddb libc: reverting previous change until ori can fix it 2020-06-14 04:47:22 +02:00
Ori Bernstein e2ee991490 libc, seconds: new time and date apis.
Redo date handling in libc almost entirely. This allows
handling dates and times from outside your timezones,
fixes timezone loading in multithreaded applications,
and allows parsing and formatting using custom format
strings.

As a test of the APIs, we replace the formatting code in
seconds(1), shrinking it massively.
2020-06-13 12:38:49 -07:00
Ori Bernstein ebb9acecdd acme: document log file in manpage 2020-06-07 08:27:36 -07:00
cinap_lenrek 5474646164 devip: implement ipv6 support in ipmux packet filter
Added a ver= field to the filter to distinguish the ip version.
By default, a filter is parsed as ipv6, and after parsing
proto, src and dst fields are converted to ipv4. When no
ver= field is specified, a ip version filter is implicitely
added and both protocols are parsed.

This change also gets rid of the fast compare types as the
filed might not be aligned correctly in the packet.

This also fixes the ifc= filter, as we have to check any
local address.
2020-06-07 16:56:01 +02:00
kvik 8918bd5981 acme: implement 'scratch' ctl command (thanks Drew DeVault)
The new command marks the target window as a scratch window -- a window
whose state cannot be "dirtied" by changes made to its body, therefore
avoiding warnings about unsaved changes when deleting the window or
exiting acme.

Existing examples of scratch windows are error, directory, and guide
windows, whose scratchness is set internally.

With the new command users and programs alike can create their own
scratch windows.  This is put to use in acme's own win(1).
2020-05-31 22:39:46 +02:00
cinap_lenrek e06f8e061a man(9): remove accidentally commited indices 2020-05-24 00:26:11 +02:00
Sigrid a8e4b50cb2 paint: change colors in the palette with button 3 2020-05-23 20:41:20 +02:00
kvik ccf5d3fb9d aux/getflags: improve flagfmt parser
This makes the flagfmt parser more robust and accepting
a looser input language — namely by allowing whitespace
around specifier fields and ignoring any empty fields.

Long flagfmts can thus be pleasingly displayed:

	flagfmt='
		a, b, c, C:cache,
		m:mtpt mountpoint,
		s:srvn srvname'
2020-05-07 00:10:09 +02:00
stanley lieber 77048feb25 /sys/man/1/mothra: add description of Plumb menu item. 2020-04-21 21:14:26 -04:00
Ori Bernstein 380adf8b48 aux/getflags: support named flags
When using aux/getflags, it produces unnecessarily obscure
names for the flags. This allows the caller of aux/getflags
to support arbitrary names.
2020-04-18 15:38:38 -07:00
cinap_lenrek 57d690c482 ip(3): remove outdated maximum ipstack number limit.
the maximum number of ip stacks is a implementation detail
of devip. it is 128 currently, instead of 16 as suggested
in the manpage.
2020-04-15 18:16:22 +02:00
23hiro fe6affc20f draw(3): typo dp 2020-04-13 00:33:26 +02:00
Alex Musolino a3f6976a76 notify(2): fix typo 2020-04-07 12:14:12 +09:30
Sigrid 55033d9aed kbd(1): revert repeat/delay change 2020-04-01 11:42:35 +02:00
Sigrid ddaaf65efe kbd(3): fix a typo (thanks Alex Musolino) 2020-03-31 10:04:24 +02:00
Ori Bernstein 7ae64cec10 merge 2020-03-28 20:33:47 -07:00
Ori Bernstein 8589a591de we prefer nil over 0, make the example show it. 2020-03-28 20:32:53 -07:00
Sigrid 9014360921 kbd: add "repeat" file to set typematic repeat rate/delay on PS/2 keyboards 2020-03-28 15:37:48 +01:00
Ori Bernstein 5bc9b0c3ca improve usage messages (thanks henesy)
Fix inconsistencies between programs and their usage
messages,  correct instances where information seems
to be missing or lost. This  includes missing arguments,
making usage consistent with manuals, and so on.
2020-03-10 10:09:34 -07:00
Sigrid 290c921d1d sam(1): document $% and $%dot 2020-03-09 13:22:10 +01:00
cinap_lenrek e9e55a21f6 lib9p: implement automatic remove-on-close cleanup in postsharesrv(), remove postfd() and sharefd() functions
with the latest changes to shr(3), we can use ORCLOSE on
the control file to get the mount in the share automatically
removed when the server exits or something goes wrong during
postsharesrv().

do not expose postfd() and sharefd() functions. they where
undocumented and leak the control file descriptors.
2020-03-08 22:00:23 +01:00
cinap_lenrek 06b9aa5039 9p(2): document all the effective rfork flags for postmountsrv() 2020-03-08 15:29:32 +01:00
cinap_lenrek bc1212faf2 9p(2): document the filedescriptor sharing behaviour of postmountsrv() 2020-03-08 14:49:34 +01:00
cinap_lenrek feb6d6f0a3 dossrv, 9660srv, hjfs: stop *READING* standard *OUTPUT* with -s flag
with the -s flag, we should read 9P messages from
standard *INPUT* (fd 0) and write responses to
standard *OUTPUT* (fd 1).

before these servers where reading from fd 1,
assuming they where both the same files.
2020-03-07 20:27:20 +01:00
cinap_lenrek 225c359bea lib9p: get rid of Srv.nopipe and Srv.leavefdsopen hacks
it is unclear how Srv.nopipe flag should work inside
postmountserv(). if a server wants to serve on stdio
descriptors, he can just call srv() after initializing
Srv.infd and Srv.outfd.

The Srv.leavefdsopen hack can be removed now that acme
win has been fixed.
2020-03-07 20:19:14 +01:00
cinap_lenrek 64640083de libsec: remove hash pickle functions, document ripemd160, cleanup sechash(2) manpage 2020-03-01 15:07:44 +01:00
rgl 7004384568 image(6): fix typo 2020-02-04 21:32:33 +01:00
cinap_lenrek 04c4a9ca8b merge 2020-02-02 20:33:40 +01:00
cinap_lenrek be8cbcc852 listen(1): implement one-shot mode flag for listen1 (thanks kivik) 2020-02-02 20:31:48 +01:00
rgl efd4eb8933 document common emulator keys 2020-01-29 19:27:07 +01:00
BurnZeZ 2c0ccff286 walk: add D and T fmt characters (fileserver device/type) 2020-01-28 01:27:41 +00:00
BurnZeZ 0f1b442bc0 walk(1): formatting/corrections 2020-01-28 00:53:58 +00:00
Alex Musolino 1ecdf09aee page(1): fix troff manual example 2020-01-20 14:59:04 +10:30
rgl 645b5f8724 /sys/man/9: more pages added
in addition to the pages, there's also changes to the mkfile
to generate the index for the new section.
2020-01-04 18:02:54 +01:00
cinap_lenrek 95c166fc35 9p(2): fix sentence for wstat function (thanks jsmoody) 2019-12-21 15:31:10 +01:00
rgl d00b2c8466 sleep(9): recover comment with the right reference 2019-12-20 23:15:07 +01:00
rgl 6cf9fb7b80 kproc(9) and sleep(9) corrections 2019-12-20 18:01:43 +01:00
Alex Musolino 0bc963f928 thread(2): fix description of when/why procexec(l) functions return 2019-12-19 17:12:15 +10:30
Alex Musolino 47c188c0c6 flate(2): fix typos (thanks rgl) 2019-12-18 09:01:38 +10:30
cinap_lenrek b820d892a6 ip(3): document special null-address hack for accepting all incoming connections 2019-12-15 13:59:08 +01:00
Alex Musolino 0f18938914 crop(1): remove duplicate -b option in synopsis 2019-12-10 15:13:44 +10:30
cinap_lenrek 57dbe35fb6 console(8): add console command and manpage
the console command runs a command or the system shell under
a new instance of kbdfs, optionally providing a serial console
when $console environment variable is set.
2019-12-09 17:44:28 +01:00
cinap_lenrek f7db45e628 merge 2019-12-03 20:57:01 +01:00
cinap_lenrek a23b88dc26 cmd(3): fix typo, Close -> Closed (thanks kivik) 2019-12-03 20:55:57 +01:00
Alex Musolino a733f4caa3 rio(4): fix bad cross-reference format 2019-12-03 18:32:30 +10:30
Alex Musolino aa9b6d3597 seconds(1): add SOURCE section 2019-12-03 18:25:24 +10:30
Sigrid b62fda7bd1 os(1): fix a typo 2019-12-02 17:55:53 +02:00
cinap_lenrek 2359389570 os(1): add c implementation of inferno os command and cmd(3) device manpages
this is a reimplementation of infernos os(1) command, which
allows running commands in the underhying host operating
system when inferno runs in hosted mode (emu). but unlike
inferno, we want to use it to run commands on the client
side of a inferno or drawterm session from the plan9 cpu
server, so it defaults to /mnt/term/cmd for the mountpoint.
2019-11-30 20:10:08 +01:00
Ori Bernstein 5510488879 merge 2019-11-20 16:12:21 -08:00
Ori Bernstein 0ff4099a60 improve language in delay(9)
give the reader enough context to know when to use and not
use the delay family of functions.
2019-11-20 16:05:52 -08:00
cinap_lenrek 07e3d1c254 merge 2019-11-21 00:40:15 +01:00
cinap_lenrek 8e20bc7515 vac(1): assimilate manpage additions from plan9port and complete usage lines (thanks joe9)
the usage lines in vac where out of sync with the implementation
and the manpages.

document the -a and -x options, from:

https://github.com/9fans/plan9port/blob/master/man/man1/vac.1
2019-11-21 00:39:07 +01:00
Alex Musolino 48a804e3fd mail(1): fix typo 2019-11-20 17:46:29 +10:30
Ori Bernstein 0b6f0c70db add start of section 9 manpages (thanks rgl)
this change adds some of the kernel manpages from 9legacy,
fixed and updated to match the changes in 9front.
2019-11-19 12:30:40 -08:00
Alex Musolino 37d6ddd8f3 rio(4): update description of wctl file format
State strings are now padded to 12-characters.  Remove ambiguous
reference to "12-character style", instead referring the reader to
image(6).
2019-11-19 12:43:53 +10:30
Ori Bernstein f32148b290 document 'T' flag misbehavior (thanks rgl) 2019-11-18 01:06:02 -08:00
Ori Bernstein b2e29cf315 Specifiy the restrictions on 9boot file names more clearly. 2019-11-17 16:17:15 -08:00
Ori Bernstein 3e1a75d08f Document 9bootfat limitation. 2019-11-17 16:08:48 -08:00
cinap_lenrek 521a0b336c bootrc: for wireless netbooting, set the WPA/WPA2 preshard key with wpapsk=password boot parameter
this allows automatic netbooting without password prompt
for the wirelss network.
2019-11-17 19:04:38 +01:00
Ori Bernstein 4dab28b14f thread(2): fix manpage typos (thanks rgl) 2019-11-12 13:01:38 -08:00
Ori Bernstein 52e92163a6 draw(2): fix manpage typo (thanks rgl) 2019-11-11 13:35:47 -08:00
cinap_lenrek 638f860791 upasfs(4): fix manpage typo (thanks rgl) 2019-11-02 12:52:39 +01:00
Ori Bernstein 9314883aff Make ctrl+g focus text windows and cycle zeroxed copies (thanks kvik) 2019-10-21 15:29:07 -07:00
cinap_lenrek d559cd005c 2c(1): document 7c (arm64) 2019-09-22 19:09:25 +02:00
David du Colombier 63ae9ed53a sys/src/libventi: implement vtreconn and vtredial functions 2019-09-06 11:54:44 -07:00
Ori Bernstein 8cbe3772c4 Add RFC2822 (email style) formatted dates to to date(1). 2019-09-06 08:25:21 -07:00
cinap_lenrek 4088f72903 rune(2): complete source references 2019-09-04 02:41:22 +02:00
cinap_lenrek a6fde3edc5 rsa(2): document asn1encodeRSApriv() and asn1encodeRSApub() functions 2019-08-30 07:35:54 +02:00
cinap_lenrek 85216d3d95 auth/rsa2asn1: implement private key export with -a flag (thanks kvik)
kvik writes:

I needed to convert the RSA private key that was laying around in
secstore into a format understood by UNIX® tools like SSH.

With asn12rsa(8) we can go from the ASN.1/DER to Plan 9 format, but not
back - so I wrote the libsec function asn1encodeRSApriv(2) and used it in
rsa2asn1(8) by adding the -a flag which causes the full private key to be
encoded and output.
2019-08-30 07:34:35 +02:00
Alex Musolino 51550ba3d2 walk(1): add history section 2019-07-02 23:34:31 +09:30
Alex Musolino 32a2737823 tinc(8): add history section 2019-07-02 22:24:10 +09:30
Ori Bernstein 94fb8869df Always turn on the -+ flag in cpp
C99 comments have been the default in compilers for something like 20 years
now. This means we don't need to remember to turn it on when porting software,
and gets rid of cryptic errors about unterminated character constants when
someone writes something like:

	// Didn't need to...

We still accept the flag to avoid breaking mkfiles, but we do nothing with it.

This also removes the documentation, since the option does nothing now.
2019-06-18 22:47:15 -07:00
aiju 9a9403bb66 vmx(1): update BUGS 2019-06-11 11:36:20 +00:00
Ori Bernstein 033c2812c2 Make 'g' grep recursively by default. 2019-06-04 22:36:32 -07:00
cinap_lenrek d667607c26 sshnet(4): ... and incoming TCP calls 2019-05-18 12:45:57 +02:00
23hiro 3b00f089ee draw(3): memlorigin 2019-05-15 20:24:39 +02:00
cinap_lenrek 704970074e nusb(2): remove startdevs() reference, document getdev() (thanks BurnZeZ) 2019-05-14 09:06:09 +02:00
BurnZeZ bf4f158707 memdraw(2): remove references to iprint() 2019-05-11 15:28:18 +00:00
cinap_lenrek fe1f6c1b3d plan9.ini(8), boot(8): clarify the use of $rootdir and $rootspec 2019-05-07 11:41:33 +02:00
BurnZeZ 71397d51d0 ip(3): document TCP ctl close command 2019-04-14 04:50:55 +00:00
BurnZeZ 424424fe50 fix bad function declarations in manpages 2019-04-09 18:34:17 +00:00
BurnZeZ 7b10062669 thread(2): threadsetname takes a fmt string 2019-04-08 22:18:15 +00:00
cinap_lenrek 634292c2f8 sshnet: implement listen (port forwarding) 2019-04-03 22:15:47 +02:00