Commit Graph

187 Commits

Author SHA1 Message Date
65d37f432f rc: rename $cflag in $rccmd 2017-10-20 00:14:43 +02:00
9b0b9794c3 rc: write ENV_PATH and ENV_CDPATH as a colon separated string 2017-10-19 00:25:34 +02:00
a5c14e60d7 rc: replace forgotten ENV_RCARGLIST 2017-10-19 00:16:19 +02:00
d33221de34 rc: allow colons as separator in $path and $cdpath 2017-10-18 23:48:42 +02:00
0ef55939e8 rc: rm plan9.c (fix previous commit) 2017-10-18 22:41:31 +02:00
4017b73ab2 rc: define constants for rc variable names 2017-10-18 22:38:30 +02:00
d3c2605d57 libc: set ERRMAX to 128 (to match genbuf in the kernel's Proc structure) 2017-10-18 01:40:40 +02:00
b42f8bd4a8 rc: mv plan9.c jehanne.c 2017-10-18 01:20:52 +02:00
085f5dfa34 rc: import 9front's improvements 2017-10-18 01:10:06 +02:00
26a2f0a1be libposix: fix typos in get_noteid/set_noteid 2017-09-08 00:24:37 +02:00
e206015f7f libposix: add getpgid 2017-09-07 23:27:33 +02:00
1f3203e6d3 libposix: add rename 2017-09-07 23:25:34 +02:00
e3ff5b1004 libposix: add getpgrp; draft setsid, getsid and setpgid 2017-09-07 00:10:34 +02:00
e168dcb7fa libposix: add umask 2017-09-06 22:59:05 +02:00
61f0293e39 libposix: fake get/set functions for uid, gid, euid, egid, pgid, sid, reuid... 2017-09-05 23:53:40 +02:00
14edc758f4 libposix: add get/set functions for uid, gid, euid, egid, pgid, sid, reuid... 2017-09-05 00:15:37 +02:00
4be2181f89 libposix: add readlink and readlinkat (both failing with EINVAL) 2017-09-03 23:46:18 +02:00
c5aaa72bbb libposix: add dup, dup2, getrusage, fstat and lstat 2017-09-03 17:51:44 +02:00
4115f92ff6 libc: make times return -1 on io error 2017-09-03 17:43:02 +02:00
0bc2e60c72 libposix: stub chown family (always returning 0)
I do not expect chown, fchownat and lchown to be much used in
UNIX softwares that we care to port.

We stub the functions in libposix so that we can refer them from
standard C libaries (such as newlib).

We will implement them (parsing /cfg/users to determinate uid and gid)
when it will be actually needed from a software ported to Jehanne.
2017-08-31 00:50:31 +02:00
3e533d234a cmds: port vt from 9front 2017-08-30 23:07:07 +02:00
713eb8843f libc: simplify access; libposix: let access lie
There are a few issues with Plan 9's `access`:

- it has side effects: to test the actual access (that the file
  servers can allow or deny according to complex custom rules)
  it opens and then closes the file, allocating (and disposing) the fd
- it does not work on directories, since
  - they cannot be opened for writing, despite the fact that to
    create a file in a directory you must be granted write access on
    that directory
  - they cannot be opened for execution, despite the fact that to
    access a file in a directory you must be granted execution access
    on that directory

Despite the fact that `access` (even on UNIX) is a violation of the
"tell, don't ask" principle (the access could be forbidden just after
its successful return, making subsequent `open` fail anyway), this
fact smells of a little design error in the file interface.

So, right now we choose to let the libposix's `access` lie on directories:
it will always return 0 on AWRITE and AEXEC for them, accepting that
a successive create/mkdir may fail.

However, a cleaner file API and protocol should allow a simpler `access`
to be implemented for directories too.
2017-08-29 00:17:51 +02:00
56287a4337 libc: better access on directories 2017-08-28 23:04:32 +02:00
59e881c04d libc: improve access(AWRITE) and access(AEXEC) on directories 2017-08-28 23:04:30 +02:00
b78613615d libposix: add access 2017-08-28 23:04:12 +02:00
386cb370a6 libposix: POSIX_gettimeofday fails without proper initialization 2017-08-25 23:43:14 +02:00
bd149a18f1 libposix: implement gettimeofday 2017-08-25 00:53:10 +02:00
bfb95a3d3e libposix: drafted chdir, fchdir and mkdir 2017-08-23 04:05:31 +02:00
4de95c9bc0 libposix: make AT_FDCWD value configurable 2017-08-23 02:57:41 +02:00
61c4849bd7 libposix: add POSIX_chmod and POSIX_fchmodat to posix.h 2017-08-23 02:05:34 +02:00
4455658796 libposix: drafted chmod/fchmod; TODO: configurable AT_FDCWD 2017-08-23 01:05:54 +02:00
6a94e587a6 libposix: fix POSIX_open's DMDIR management; fix typo in POSIX_chmod 2017-08-22 22:42:38 +02:00
965d316ac4 libposix: return PosixENOTDIR according to O_DIRECTORY specification 2017-08-22 02:34:00 +02:00
004dd6bff1 libposix: specify PosixOpenTranslator's behaviour on various flags 2017-08-22 02:12:26 +02:00
9947978c05 libposix: implemented libposix_getdents 2017-08-22 01:42:33 +02:00
63b227be55 elf64ldseg: do not pprint warnings on wrong header as it could simply be an rc script 2017-08-21 23:59:40 +02:00
f7c3a41b11 libposix: drafted getdents 2017-08-21 01:05:40 +02:00
3916b222b5 libposix: fix typo 2017-08-21 00:52:57 +02:00
ea6b68588c libposix: implemented getcwd, getlogin, getlogin_r, getpass, pread and pwrite 2017-08-21 00:20:12 +02:00
6dd00801dc libposix: introduce pause() (still to be integrated in newlib) 2017-08-18 00:50:07 +02:00
6ce619a2e0 libc: sleep's argument must be unsigned 2017-08-16 00:58:21 +02:00
b9483decb0 libmemdraw: fix typo 2017-08-15 12:10:52 +02:00
e0e45fba5a kernel: removed unreachable code in fault (CID: 155701)
If the user process does not have a segment holding the required addr
the fault function return early.
2017-08-15 01:07:48 +02:00
55a8a84d8d kernel: fix potential overflow in updatecpu (CID 155825) 2017-08-15 00:54:15 +02:00
0b8a66f877 kernel: umem: fix img_get macro
The img_get macro used to subtract 1 to the argument provided before
computing the porinter to the image. I can't remember why it did so.

However the expression was wrong.

Coverity found the issue:

	Operands don't affect result (CONSTANT_EXPRESSION_RESULT)
	CID:	155616, 155606, 155598, 155597, 155596, 155587,
		155580, 155578, 155577, 155576, 155568, 155566

Simply removing the subtraction seems the obvious fix.
2017-08-15 00:38:09 +02:00
b056df2da6 kernel: simplify sysnotify; should fix CID 156151 (Wrong sizeof argument) 2017-08-14 19:52:22 +02:00
17c9087965 kernel: fix typo in sysexec (CID 156141) 2017-08-14 19:34:34 +02:00
180da90a06 kernel: fix args crossing page boundaries in sysexec
Should also fix CID 155615 (Operands don't affect result)
2017-08-14 19:25:54 +02:00
21b5682a43 kernel: syspread: avoid negative offsets in dir reads
Should also fix CID 160109: Dereference after null check
2017-08-14 18:40:25 +02:00
da588d69ec kernel: fpprocfork: fix CID 174315 (Missing break in switch) 2017-08-14 15:22:51 +02:00