Blame


1 448044c5 2021-12-30 op Stuff that's still to-do
2 448044c5 2021-12-30 op ========================
3 448044c5 2021-12-30 op
4 448044c5 2021-12-30 op
5 063e17c1 2021-12-15 op - compile with -D_FILE_OFFSET_BITS=64 on linux.
6 063e17c1 2021-12-15 op related: this is needed only for glibc or musl too?
7 063e17c1 2021-12-15 op
8 063e17c1 2021-12-15 op - (possibly related) find out what pread(2) black magic we can do to
9 063e17c1 2021-12-15 op read stuff on 32 bits
10 c6f9745e 2021-12-15 op
11 c6f9745e 2021-12-15 op - rework the ninepscript so tests are parsed and executed by the _kamid
12 c6f9745e 2021-12-15 op user and not by root.
13 335ce51d 2021-12-16 op
14 335ce51d 2021-12-16 op - tweak iounit so it's always lower than the choosen msize
15 423f02f5 2021-12-28 cage
16 423f02f5 2021-12-28 cage - handle message bigger than MAX_IMSGSIZE - IMSG_HEADER_SIZE. One
17 423f02f5 2021-12-28 cage way to do that would be to *not* use asynchroonus imsgs in client.c
18 423f02f5 2021-12-28 cage but synchronous I/O: this way, once a message has been processed,
19 423f02f5 2021-12-28 cage we can just receive the next in the same function (i.e. twrite) and
20 423f02f5 2021-12-28 cage go ahead.
21 5817aa44 2021-12-28 op
22 5817aa44 2021-12-28 op - fill user and group name in struct stat. The problem is that, being
23 5817aa44 2021-12-28 op chrooted, we don't have access to /etc/passwd nor /etc/group. We
24 5817aa44 2021-12-28 op could use setpassent(3) and setgroupent(3), but if they change in the
25 5817aa44 2021-12-28 op meantime we can't do anything. Another solution would be to not
26 5817aa44 2021-12-28 op to chroot(2) and just switch to the targeted user.
27 ff714ba6 2021-12-30 op
28 ff714ba6 2021-12-30 op - find a way to avoid opening directories twice. During a walk
29 ff714ba6 2021-12-30 op we open the directories, but if later we try to open that fid,
30 ff714ba6 2021-12-30 op we end up re-opening the same directory again! It's not easy
31 ff714ba6 2021-12-30 op to avoid because we need to fdopendir(3) and upon closedir it'll
32 ff714ba6 2021-12-30 op close the file descriptor, while the same file descriptor could
33 ff714ba6 2021-12-30 op be shared with other fids (f->dir is a shared read-only resource).
34 5e8a17ec 2021-12-30 op One solution may be to not use readdir and roll our own on top
35 5e8a17ec 2021-12-30 op of getdents(2) and lseek(2), but that may not be portable.
36 98576296 2021-12-31 op
37 fb1a36c0 2022-01-09 op - reply with an Rerror in kamid/listener.c:/^client_read when we get
38 fb1a36c0 2022-01-09 op an invalid message (too big or too small) before closing the
39 98576296 2021-12-31 op connection.
40 17ea8246 2022-02-02 op
41 17ea8246 2022-02-02 op - how (if) handle serialize_stat overflow? If the info for the file
42 17ea8246 2022-02-02 op we want to give don't fit inside 16 bit we're currently either
43 17ea8246 2022-02-02 op skipping the file entry (if during a directory read) or return an
44 bc8e3a24 2022-05-23 op error (during Tstat.)