Commit graph

9108 commits

Author SHA1 Message Date
Ori Bernstein
70edb7fbae git/fs: remove trailing null bytes from parent file (thanks mcf)
due to the way the size of buf was calculated, the parent
file had one trailing null byte for each parent. also, while
we're here, replace the sprint with seprint, and compute the
size from how much we printed in.
2022-01-07 01:43:52 +00:00
Benjamin Riefenstahl
bf322dfbf3 ape/mkstemp: better options
Use O_EXCL and make the file descriptor writeable.  This is more
usefull and it conforms to Single Unix and other specs.
2021-12-10 20:44:26 +00:00
Ori Bernstein
370bfd26ce git: fix typo in git/log output
Commiter => Committer
2022-01-06 06:38:56 +00:00
cinap_lenrek
3568e27ec8 rc: only have single instance of a symbol, extern in header (thanks mcf) 2022-01-04 00:19:36 +00:00
cinap_lenrek
699d2e0ed9 rc: simplify Makefile, use yacc default rule (thanks k0ga) 2022-01-03 22:48:44 +00:00
cinap_lenrek
1a90e04c05 ape: export mktemp() in <stdlib.h> when _BSD_SOURCE is set 2022-01-03 18:49:40 +00:00
cinap_lenrek
b34fc2a9cf ape: allow exporting rc functions in environ[] 2022-01-03 18:47:56 +00:00
cinap_lenrek
3ec59c7b70 ape/psh: provide /dev/fd 2022-01-03 18:44:22 +00:00
cinap_lenrek
189731aad0 rc: make it portable (for UNIX)
Fixup remaining Plan9 dependencies (chartorune()).
Add Makefile for UNIX-like systems (tested with Linux and APE).
Make error printing consistent, use Errstr() explicitely.
Get rid of NSTATUS buffer limit, just malloc it.
2022-01-03 18:41:48 +00:00
cinap_lenrek
c51a5cfa06 rc: Xerror is not a instruction, remove from pfnc 2022-01-03 18:22:29 +00:00
Ori Bernstein
f63d1d3ced git: size cache in bytes, not objects
git used to track cache size in object
count, rather than bytes. This had the
unfortunate effect of making memory use
depend on the size of objects -- repos
with lots of large objects could cause
out of memory deaths.

now, we track sizes in bytes, which should
keep our memory usage flatter.
2022-01-02 03:37:23 +00:00
cinap_lenrek
99d54e420e rc: add Xhereq instruction to trace 2022-01-02 03:35:50 +00:00
cinap_lenrek
11d573d7f9 rc: rstr() shouldnt skip trailing NUL bytes (thanks ori) 2022-01-02 03:33:34 +00:00
qwx
c4e30bede2 remove ssl from zynq and remaining kernel configurations 2022-01-01 15:23:46 +00:00
cinap_lenrek
2025214dfc rc: fix here document handling with quoted end-marker (thanks sigrid)
when end marker is quoted, we should not substitute.
also, pcmd() needs to print the end marker without quotes.
2021-12-31 23:26:59 +00:00
cinap_lenrek
d0c9127b10 remove devssl.c 2021-12-31 16:21:54 +00:00
cinap_lenrek
49e991eaed /rc/lib/rcmain: remove useless exit $staus at the end 2021-12-31 16:15:20 +00:00
cinap_lenrek
b00b3d3739 rc(1): fix synopsis 2021-12-31 16:08:30 +00:00
cinap_lenrek
9773f55318 rc: add err != nil check for early exit 2021-12-31 16:05:28 +00:00
cinap_lenrek
44a5f4d2ef remove pushssl(2) 2021-12-31 15:59:13 +00:00
cinap_lenrek
8bebe3ab19 remove ssl(3) 2021-12-31 15:56:40 +00:00
cinap_lenrek
2d105c2d32 0intro(1), acme(1), con(1), rcpu(1), rio(1), namespace(4), authsrv(6), aan(8): cpu -> rcpu 2021-12-31 15:53:00 +00:00
cinap_lenrek
31f66da433 ftpfs(4): import -> rimport 2021-12-31 15:51:22 +00:00
cinap_lenrek
917f57b6c3 consolefs(4): import -> rimport 2021-12-31 15:50:22 +00:00
cinap_lenrek
aa781bfda2 listen(8): get rid of old ports 2021-12-31 15:44:55 +00:00
cinap_lenrek
a33e93a752 listen(8): remove old cpu, exportfs and rexec listeners 2021-12-31 15:43:16 +00:00
cinap_lenrek
b90036a062 rc: fix everything
Untangle the lexer and interpreter thread state.

Fix the file and line number error reporting, getting rid of
Xsrcfile instruction, as the whole code block can only come
from a single file, stuff the source file in slot[1] of the
code block instead.

Remove limitations for globber (path element limits)
and be more intelligent about handling globbing by
inserting Xglob instruction only when needed and not
run it over every Xsimple argument list.

Remove fragile ndot magic and make it explicit by adding
the -q flag to . builtin command.

Add -b flag for full compilation.

Make exitnext() smart, so we can speculate thru rcmain and
avoid the fork().

Get rid of all print(2) format functions and use io
instead.

Improve the io library, adding rstr() to handle tokenization,
which allows us to look ahead in the already read buffer
for the terminators, avoiding alot of string copies.

Auto indent pcmd(), to make line number reporting more usefull.

Implement here documents properly, so they can work everywhere.
2021-12-31 15:27:10 +00:00
Igor Böhm
855cf4326f acme(1): fix reference to 9front default acme font 2021-12-29 23:37:56 +00:00
Ori Bernstein
facb0e757a git: revert c947bf808 -- it triggers a bug.
We seem to have a botch in the protocol negotiation, where
we leak some protocol packets into the packfile; this will
need to be fixed before we put this change in.
2021-12-22 00:48:09 +00:00
Ori Bernstein
c947bf8087 git: fetch all branches by default.
when the remote side creates a new branch, it is
desirable to have it show up in the repo.
2021-12-20 15:16:29 +00:00
Igor Böhm
614f1d6268 rio: allow spaces in working directory path (-cd) when creating a new window via wctl
The initial working directory of a new window may be set by a
`-cd directory` option. However, the `-cd directory` option is
not capable of handling paths with spaces when used via wctl.

To enable paths with spaces the function
/sys/src/cmd/rio/wctl.c:/^parsewctl is extended to handle quoted
directory paths.

Before applying the patch the following will fail to open a new
window by writing to /dev/wctl:

<snip>
 % rio -i window
 % mkdir '/tmp/path with space'
 % echo new -cd '''/tmp/path with space''' window -x rc >> /dev/wctl
 % pwd
 /tmp/path with space
<snap>

The following invocation fails as well:

<snip>
 % window -cd '/tmp/path with space'
 % pwd
 /tmp/path with space
<snap>

After applying the patch the above sequences work as expected,
opening a window running rc with the working directory set to
'/tmp/path with space'.
2021-11-29 00:06:45 +00:00
Igor Böhm
5d69d42ee3 git(1): fix quotes in git/conf example 2021-12-15 22:45:59 +00:00
Tobias Heinicke
53fb93e64a delete import, oexportfs src 2021-12-14 19:39:59 +00:00
qwx
af561602ea aux/wacom: fix race in read queue
this fixes `no concurrent reads, please' errors when using
aux/wacom with aux/tablet on eg. x61t
2021-12-14 23:54:05 +00:00
Ori Bernstein
7efbea82c6 devssl, cpu, import, oexportfs: delete
SSL is implemented by devssl. It's extremely
obsolete by now, and is not used anywhere but
cpu, import, and oexportfs.

This change strips out the devssl bits, but
does not (yet) remove the code from libsec.
2021-12-13 02:17:02 +00:00
qwx
b4d4cf69be vga/igfx: add missing pci did's for hwblank for known mobile models 2021-12-08 09:52:07 +00:00
Ori Bernstein
3710ed60fd git: fully init objq
we were leaving objq.best uninitialized, and
would therefore read garbage if we didn't
find a best match.
2021-12-08 00:20:32 +00:00
cinap_lenrek
be0b39f9c5 acmed(8), rsa(8): add role=client attribute to rsa keys 2021-12-06 15:40:18 +00:00
Humm
69249e8313 troff: we are not htmlroff
If we don’t explicitly check for ‘h’ in troff, we can’t reliably check
for non-htmlroff well.

Consider the following:

	.if h \{\
	.	de M
	.		tm m
	..\}

Without this change, this will print m and not define macro M.
2021-11-24 19:56:44 +00:00
Ori Bernstein
f0adfb4ded git: improve pack cache heuristics
the pack cache was very stupid: it would close packs
as early as possible, which would prevent packs from
getting reused effectively. It would also select a
bad pack to close.

This picks the oldest pack, refcounts correctly, and
keeps up to Npackcache open at once (though it will
go over if more are in use).
2021-12-05 00:13:54 +00:00
cinap_lenrek
5465c4c01a netaudit: simplify 2021-12-01 21:59:22 +00:00
cinap_lenrek
efd4d75082 netaudio: fix auth check, can have multiple auth servers! 2021-12-01 21:53:18 +00:00
cinap_lenrek
43eb7eea62 netaudit: check for sys= attribute to be free of periods 2021-11-29 20:26:12 +00:00
cinap_lenrek
d3743d40c2 netaudit, ndb(6): the dom= attribute in ndb should be specified without the trailing period 2021-11-29 20:07:04 +00:00
cinap_lenrek
78c7ad88ff kernel: add extra negative and power-of-two check to pcibarsize() 2021-11-26 21:47:15 +00:00
cinap_lenrek
2a531d444c aux/vga: use vlong for pci bar size 2021-11-26 20:55:58 +00:00
cinap_lenrek
20ea113790 kernel: support large 64-bit pci membars, increase pc64 VMAPSIZE to 1TB
This makes vmap()/vunmap() take a vlong size argument,
and change the type of Pci.mem[].size to vlong as well.

Even if vmap() wont support large mappings, it is nice to
get the original unruncated value for error checking.

pc64 needs a bigger VMAP window, as system76 pangolin
puts the framebuffer at a physical address > 512GB.
2021-11-26 20:51:45 +00:00
Sigrid Solveig Haflínudóttir
add3a0a4da aescbc: flush before exit and report an error (if any) 2021-11-25 21:42:12 +00:00
glenda
e2a8d3493a /rc/bin/rc-httpd/{rc-httpd, handlers/error}: do some minimal sanitization on $SERVER_NAME before handing it off to select-handler. this prevents malformed Host: headers from retrieving arbitrary files from the file system. (thanks, Lightning) 2021-11-21 23:42:13 +00:00
Igor Böhm
a27afe904d prep(8): fix typos, wording, and formating 2021-11-21 22:45:51 +00:00