History

20100205-1101

forsyth committed 16 years ago

Commit bb3d01d1 parent 4b5b05864 files · +225 −246Browse files

Unified · Split

64 files
  1. CHANGES +5 −2
  2. appl/cmd/auth/secstore.b +3 −3
  3. appl/lib/secstore.b +17 −13
  4. dis/lib/secstore.dis +0 −0
  5. doc/port.ms +2 −2
  6. doc/port.pdf +0 −0
  7. include/version.h +1 −1
  8. man/1/bind +6 −5
  9. man/1/cpu +1 −1
  10. man/1/grid-register +6 −6
  11. man/1/grid-session +5 −3
  12. man/1/listen +5 −5
  13. man/1/ls +1 −1
  14. man/1/ns +1 −2
  15. man/1/secstore +1 −1
  16. man/1/sh-file2chan +3 −1
  17. man/1/telnet +1 −1
  18. man/10/devattach +3 −5
  19. man/10/odbc +12 −1
  20. man/10/styx +6 −5
  21. man/2/drawmux +1 −1
  22. man/2/registries +3 −3
  23. man/2/secstore +17 −16
  24. man/2/security-login +1 −1
  25. man/2/srv +1 −1
  26. man/2/styx +7 −6
  27. man/2/styxconv +7 −6
  28. man/2/styxflush +5 −5
  29. man/2/styxpersist +6 −6
  30. man/2/styxservers +8 −8
  31. man/2/sys-0intro +2 −2
  32. man/2/sys-bind +1 −1
  33. man/2/sys-export +2 −2
  34. man/2/sys-fauth +1 −1
  35. man/2/sys-file2chan +1 −1
  36. man/2/sys-fversion +3 −3
  37. man/2/sys-iounit +1 −1
  38. man/2/sys-pipe +2 −2
  39. man/2/virgil +1 −1
  40. man/3/0intro +1 −1
  41. man/3/ip +4 −4
  42. man/3/logfs +2 −2
  43. man/3/mnt +6 −6
  44. man/3/plap +1 −1
  45. man/3/tls +1 −1
  46. man/4/0intro +1 −1
  47. man/4/dossrv +1 −1
  48. man/4/export +6 −7
  49. man/4/ftpfs +1 −1
  50. man/4/grid-cpu +1 −1
  51. man/4/iostats +1 −1
  52. man/4/kfs +1 −1
  53. man/4/mntgen +1 −1
  54. man/4/registry +1 −1
  55. man/6/image +1 −1
  56. man/8/collabsrv +4 −4
  57. man/8/cs +3 −3
  58. man/8/httpd +1 −1
  59. man/8/ping +2 −2
  60. man/8/rdbgsrv +6 −59
  61. man/8/styxchat +9 −8
  62. man/8/styxmon +5 −5
  63. man/8/svc +9 −1
  64. module/secstore.m +9 −9
CHANGES+5−2
@@ -1,7 +1,10 @@
120100205
2 update man pages to replace most references to Styx by 9P
3 update man pages to replace references to sys-dial(2) by dial(2)
120100203420100203
2 appl/lib/cfg.b treat \r as white space (issue 69, 70)5 appl/lib/cfg.b treat \r as white space [issue 69, issue 70]
3 add u64int to lib9.h files that needed it6 add u64int to lib9.h files that needed it
4 add sha2.c sha256block.c sha512block.c to libsec/port and include/libsec.h7 add sha2.c sha256block.c sha512block.c to libsec/port and include/libsec.h [issue 185, mechiel]
5 add new sha functions to module/keyring.m and libinterp/keyring.c8 add new sha functions to module/keyring.m and libinterp/keyring.c
620100115920100115
7 appl/cmd/tarfs.b man/4/tarfs changes to permission handling from mechiel [issue 220]10 appl/cmd/tarfs.b man/4/tarfs changes to permission handling from mechiel [issue 220]
appl/cmd/auth/secstore.b+3−3
@@ -29,7 +29,7 @@ Secstorec: module · 28 unmodified lines
29Maxfilesize: con 128*1024;29Maxfilesize: con 128*1024;
30 30
31stderr: ref Sys->FD;31stderr: ref Sys->FD;
32conn: ref Sys->Connection;32conn: ref Dial->Connection;
33seckey: array of byte;33seckey: array of byte;
34filekey: array of byte;34filekey: array of byte;
35file: array of byte;35file: array of byte;
@@ -100,7 +100,7 @@ init(nil: ref Draw->Context, args: list of string) · 64 unmodified lines
100 if(nf > 1)100 if(nf > 1)
101 pin = hd tl flds;101 pin = hd tl flds;
102 }102 }
103 conn: ref Sys->Connection;103 conn: ref Dial->Connection;
104Auth:104Auth:
105 for(;;){105 for(;;){
106 if(!iflag)106 if(!iflag)
@@ -229,7 +229,7 @@ verb(op: int, n: string) · 122 unmodified lines
229 sys->fprint(stderr, "%c %q\n", op, n);229 sys->fprint(stderr, "%c %q\n", op, n);
230}230}
231 231
232getfile(conn: ref Sys->Connection, fname: string, key: array of byte): array of byte232getfile(conn: ref Dial->Connection, fname: string, key: array of byte): array of byte
233{233{
234 f := secstore->getfile(conn, fname, 0);234 f := secstore->getfile(conn, fname, 0);
235 if(f == nil)235 if(f == nil)
appl/lib/secstore.b+17−13
@@ -7,6 +7,9 @@ implement Secstore; · 6 unmodified lines
7include "sys.m";7include "sys.m";
8 sys: Sys;8 sys: Sys;
9 9
10include "dial.m";
11 dialler: Dial;
12
10include "keyring.m";13include "keyring.m";
11 kr: Keyring;14 kr: Keyring;
12 DigestState, IPint: import kr;15 DigestState, IPint: import kr;
@@ -27,6 +30,7 @@ init() · 14 unmodified lines
27 kr = load Keyring Keyring->PATH;30 kr = load Keyring Keyring->PATH;
28 ssl = load SSL SSL->PATH;31 ssl = load SSL SSL->PATH;
29 base64 = load Encoding Encoding->BASE64PATH;32 base64 = load Encoding Encoding->BASE64PATH;
33 dialler = load Dial Dial->PATH;
30 initPAKparams();34 initPAKparams();
31}35}
32 36
@@ -38,7 +42,7 @@ privacy(): int · 5 unmodified lines
38 return 1;42 return 1;
39}43}
40 44
41connect(addr: string, user: string, pwhash: array of byte): (ref Sys->Connection, string, string)45connect(addr: string, user: string, pwhash: array of byte): (ref Dial->Connection, string, string)
42{46{
43 conn := dial(addr);47 conn := dial(addr);
44 if(conn == nil){48 if(conn == nil){
@@ -53,12 +57,12 @@ connect(addr: string, user: string, pwhash: array of byte): (ref Sys->Connection · 8 unmodified lines
53 return (conn, sname, diag);57 return (conn, sname, diag);
54}58}
55 59
56dial(netaddr: string): ref Sys->Connection60dial(netaddr: string): ref Dial->Connection
57{61{
58 if(netaddr == nil)62 if(netaddr == nil)
59 netaddr = "net!$auth!secstore";63 netaddr = "net!$auth!secstore";
60 (ok, conn) := sys->dial(netaddr, nil);64 conn := dialler->dial(netaddr, nil);
61 if(ok < 0)65 if(conn == nil)
62 return nil;66 return nil;
63 (err, sslconn) := ssl->connect(conn.dfd);67 (err, sslconn) := ssl->connect(conn.dfd);
64 if(err != nil)68 if(err != nil)
@@ -66,7 +70,7 @@ dial(netaddr: string): ref Sys->Connection · 1 unmodified line
66 return sslconn;70 return sslconn;
67}71}
68 72
69auth(conn: ref Sys->Connection, user: string, pwhash: array of byte): (string, string)73auth(conn: ref Dial->Connection, user: string, pwhash: array of byte): (string, string)
70{74{
71 sname := PAKclient(conn, user, pwhash);75 sname := PAKclient(conn, user, pwhash);
72 if(sname == nil)76 if(sname == nil)
@@ -96,7 +100,7 @@ cansecstore(netaddr: string, user: string): int · 23 unmodified lines
96 return string buf[0:n] == "!account exists";100 return string buf[0:n] == "!account exists";
97}101}
98 102
99sendpin(conn: ref Sys->Connection, pin: string): int103sendpin(conn: ref Dial->Connection, pin: string): int
100{104{
101 if(sys->fprint(conn.dfd, "STA%s", pin) < 0)105 if(sys->fprint(conn.dfd, "STA%s", pin) < 0)
102 return -1;106 return -1;
@@ -109,7 +113,7 @@ sendpin(conn: ref Sys->Connection, pin: string): int · 6 unmodified lines
109 return 0;113 return 0;
110}114}
111 115
112files(conn: ref Sys->Connection): list of (string, int, string, string, array of byte)116files(conn: ref Dial->Connection): list of (string, int, string, string, array of byte)
113{117{
114 file := getfile(conn, ".", 0);118 file := getfile(conn, ".", 0);
115 if(file == nil)119 if(file == nil)
@@ -136,7 +140,7 @@ files(conn: ref Sys->Connection): list of (string, int, string, string, array of · 20 unmodified lines
136 return l;140 return l;
137}141}
138 142
139getfile(conn: ref Sys->Connection, name: string, maxsize: int): array of byte143getfile(conn: ref Dial->Connection, name: string, maxsize: int): array of byte
140{144{
141 fd := conn.dfd;145 fd := conn.dfd;
142 if(maxsize <= 0)146 if(maxsize <= 0)
@@ -171,7 +175,7 @@ getfile(conn: ref Sys->Connection, name: string, maxsize: int): array of byte · 28 unmodified lines
171 return file;175 return file;
172}176}
173 177
174remove(conn: ref Sys->Connection, name: string): int178remove(conn: ref Dial->Connection, name: string): int
175{179{
176 if(sys->fprint(conn.dfd, "RM %s\n", name) < 0)180 if(sys->fprint(conn.dfd, "RM %s\n", name) < 0)
177 return -1;181 return -1;
@@ -179,7 +183,7 @@ remove(conn: ref Sys->Connection, name: string): int · 1 unmodified line
179 return 0;183 return 0;
180}184}
181 185
182bye(conn: ref Sys->Connection)186bye(conn: ref Dial->Connection)
183{187{
184 if(conn != nil){188 if(conn != nil){
185 if(conn.dfd != nil)189 if(conn.dfd != nil)
@@ -270,7 +274,7 @@ writerr(fd: ref Sys->FD, s: string) · 84 unmodified lines
270 sys->werrstr(s);274 sys->werrstr(s);
271}275}
272 276
273setsecret(conn: ref Sys->Connection, sigma: array of byte, direction: int): string277setsecret(conn: ref Dial->Connection, sigma: array of byte, direction: int): string
274{278{
275 secretin := array[Keyring->SHA1dlen] of byte;279 secretin := array[Keyring->SHA1dlen] of byte;
276 secretout := array[Keyring->SHA1dlen] of byte;280 secretout := array[Keyring->SHA1dlen] of byte;
@@ -399,14 +403,14 @@ shorthash(mess: string, C: string, S: string, m: string, mu: string, sigma: stri · 122 unmodified lines
399# On output, session secret has been set in conn403# On output, session secret has been set in conn
400# (unless return code is negative, which means failure).404# (unless return code is negative, which means failure).
401#405#
402PAKclient(conn: ref Sys->Connection, C: string, pwhash: array of byte): string406PAKclient(conn: ref Dial->Connection, C: string, pwhash: array of byte): string
403{407{
404 dfd := conn.dfd;408 dfd := conn.dfd;
405 409
406 (hexHi, H, nil) := PAK_Hi(C, pwhash);410 (hexHi, H, nil) := PAK_Hi(C, pwhash);
407 411
408 # random 1<=x<=q-1; send C, m=g**x H412 # random 1<=x<=q-1; send C, m=g**x H
409 x := mod(IPint.random(240, 240), pak.q);413 x := mod(IPint.random(240), pak.q);
410 if(x.eq(IPint.inttoip(0)))414 if(x.eq(IPint.inttoip(0)))
411 x = IPint.inttoip(1);415 x = IPint.inttoip(1);
412 m := mod(pak.g.expmod(x, pak.p).mul(H), pak.p);416 m := mod(pak.g.expmod(x, pak.p).mul(H), pak.p);
dis/lib/secstore.dis+0−0

Binary file not shown.

doc/port.ms+2−2
@@ -25,7 +25,7 @@ a summary of differences with Unix · 24 unmodified lines
25.I make ,25.I make ,
26can be found in26can be found in
27.I "Maintaining Files on Plan 9 with Mk"27.I "Maintaining Files on Plan 9 with Mk"
28by Hume and Flandera,28by Hume and Flandrena,
29reprinted in this volume.29reprinted in this volume.
30The source for30The source for
31.CW mk31.CW mk
@@ -453,7 +453,7 @@ UART, and IrDA mode · 421 unmodified lines
453.CW etherscc.c453.CW etherscc.c
454and454and
455.CW devuart.c ).455.CW devuart.c ).
456The IrDA has been used for Styx transport between a FADS board456The IrDA has been used for 9P transport between a FADS board
457and an IBM Thinkpad 560.457and an IBM Thinkpad 560.
458The file458The file
459.CW screen.c459.CW screen.c
doc/port.pdf+0−0

Binary file not shown.

include/version.h+1−1
@@ -1 +1 @@
1#define VERSION "Fourth Edition (20100203)"1#define VERSION "Fourth Edition (20100205)"
man/1/bind+6−5
@@ -89,13 +89,14 @@ it is assumed to be a network address for a machine acting · 88 unmodified lines
89as a file server.89as a file server.
90This argument should then conform to the conventions90This argument should then conform to the conventions
91described in91described in
92.IR sys-dial (2).92.IR dial (2).
93Otherwise93Otherwise
94.I source94.I source
95should be the name of a file that when opened gives a connection95should be the name of a file that when opened gives a connection
96to a file server, something serving the Styx protocol96to a file server, something serving the 9P protocol
97described in97described in
98.IR intro (5).98.IR intro (5),
99formerly called `Styx'.
99The optional100The optional
100.I spec101.I spec
101argument to102argument to
@@ -262,7 +263,7 @@ Note the caveats on that page. · 160 unmodified lines
262For263For
263.I mount264.I mount
264only,265only,
265the file server serves the original version of the Styx protocol, and266the file server serves the 1995 version of Inferno's Styx protocol, and
266.I mount267.I mount
267inserts a process that translates to the current version.268inserts a process that translates to the current version.
268.SH SOURCE269.SH SOURCE
@@ -273,10 +274,10 @@ inserts a process that translates to the current version. · 4 unmodified lines
273.B /appl/cmd/unmount.b274.B /appl/cmd/unmount.b
274.SH SEE ALSO275.SH SEE ALSO
275.IR sh (1),276.IR sh (1),
277.IR dial (2),
276.IR keyring-auth (2),278.IR keyring-auth (2),
277.IR security-auth (2),279.IR security-auth (2),
278.IR sys-intro (2),280.IR sys-intro (2),
279.IR sys-bind (2),281.IR sys-bind (2),
280.IR sys-dial (2),
281.IR intro (3),282.IR intro (3),
282.IR getauthinfo (8)283.IR getauthinfo (8)
man/1/cpu+1−1
@@ -49,7 +49,7 @@ is not used after authentication. · 48 unmodified lines
49.SH SOURCE49.SH SOURCE
50.B /appl/cmd/cpu.b50.B /appl/cmd/cpu.b
51.SH SEE ALSO51.SH SEE ALSO
52.IR sys-dial (2),52.IR dial (2),
53.IR keyring-auth (2),53.IR keyring-auth (2),
54.IR security-auth (2)54.IR security-auth (2)
55.SH BUGS55.SH BUGS
man/1/grid-register+6−6
@@ -11,12 +11,12 @@ grid: register \- registers a resource with a known · 10 unmodified lines
11 11
12.SH DESCRIPTION12.SH DESCRIPTION
13.I Register13.I Register
14takes a program which serves a Styx (see14takes a program that serves a namespace using the 9P protocol on its standard input
15.IR intro (5))15and registers it with a known
16namespace on16.IR registery (4).
17.I stdin17(See
18and registers it with a known 18.IR intro (5)
19.IR registry (4).19for a description of the protocol.)
20It then marshals the service by listening for incoming connections and exporting the namespace across them.20It then marshals the service by listening for incoming connections and exporting the namespace across them.
21.I Register21.I Register
22prints out various status messages to22prints out various status messages to
man/1/grid-session+5−3
@@ -17,9 +17,11 @@ Once started, · 16 unmodified lines
17.IR session17.IR session
18presents a heirarchical view of currently registered resources (such as18presents a heirarchical view of currently registered resources (such as
19.IR grid-ns (1))19.IR grid-ns (1))
20which export a Styx (see20that serve name spaces using 9P.
21.IR intro (5))21(See
22namespace. The top level displays the type of resource e.g. 22.IR intro (5)
23for a description of the protocol.)
24The top level displays the type of resource, for instance
23.BR 'CPU resource' , 25.BR 'CPU resource' ,
24whilst the second level shows the name of each individual resource. Descending futher down the tree will reveal the attributes of the selected resource. To mount a resource and see the namespace it exports, click mouse button 3 on the resource name. The view will switch to a split pane view displaying the resource namespace with directories listed on the left and all files in the current directory displayed on the right.26whilst the second level shows the name of each individual resource. Descending futher down the tree will reveal the attributes of the selected resource. To mount a resource and see the namespace it exports, click mouse button 3 on the resource name. The view will switch to a split pane view displaying the resource namespace with directories listed on the left and all files in the current directory displayed on the right.
25.PP27.PP
man/1/listen+5−5
@@ -59,7 +59,7 @@ waits for an incoming network connection on · 58 unmodified lines
59(as accepted by59(as accepted by
60.B announce60.B announce
61in61in
62.IR sys-dial (2))62.IR dial (2))
63and then invokes63and then invokes
64.IR sh (1)64.IR sh (1)
65to run the associated65to run the associated
@@ -97,7 +97,7 @@ with the shell variable · 31 unmodified lines
97.B net97.B net
98set to the name of the corresponding network directory98set to the name of the corresponding network directory
99(see99(see
100.IR sys-dial (2)),100.IR dial (2)),
101before listening for incoming calls.101before listening for incoming calls.
102This can be used to change, or find out the characteristics102This can be used to change, or find out the characteristics
103of an announced port (for instance to find out103of an announced port (for instance to find out
@@ -231,7 +231,7 @@ attach message seen by the command that · 127 unmodified lines
231has been started by231has been started by
232.IR styxlisten .232.IR styxlisten .
233.SH "SEE ALSO"233.SH "SEE ALSO"
234.IR svc (8),234.IR dial (2),
235.IR sys-dial (2),235.IR ssl (3),
236.IR auth (6),236.IR auth (6),
237.IR ssl (3)237.IR svc (8)
man/1/ls+1−1
@@ -61,7 +61,7 @@ to the file's owner, members of the file's group and anybody else · 60 unmodified lines
61respectively.61respectively.
62.IP 2.62.IP 2.
63The device type (this is the `#' device letter for local devices63The device type (this is the `#' device letter for local devices
64or `M' for files mounted over a Styx connection).64or `M' for files mounted over a 9P connection).
65.IP 3.65.IP 3.
66The device instance number (this distinguishes between66The device instance number (this distinguishes between
67separately mounted instances of the same device).67separately mounted instances of the same device).
man/1/ns+1−2
@@ -27,7 +27,7 @@ mount or bind, the original name of the file is shown. · 26 unmodified lines
27.PP27.PP
28Mounts of file services on a network show the network address as28Mounts of file services on a network show the network address as
29given to29given to
30.IR sys-dial (2)30.IR dial (2)
31instead of the name of the data file for the connection; the31instead of the name of the data file for the connection; the
32.B -r32.B -r
33option causes33option causes
@@ -40,4 +40,3 @@ to show the raw file name instead. · 6 unmodified lines
40.IR prog (3),40.IR prog (3),
41.IR namespace (4),41.IR namespace (4),
42.IR namespace (6)42.IR namespace (6)
43
man/1/secstore+1−1
@@ -98,7 +98,7 @@ as the extra authentication code if the server demands it. · 97 unmodified lines
98Connect to the server at the given network98Connect to the server at the given network
99.IR address ,99.IR address ,
100as defined by100as defined by
101.IR sys-dial (2),101.IR dial (2),
102and translated by102and translated by
103.IR cs (8).103.IR cs (8).
104The default is104The default is
man/1/sh-file2chan+3−1
@@ -235,7 +235,9 @@ memory-based file called · 234 unmodified lines
235.EE235.EE
236It is, however, very limited, as binary data stored in the file236It is, however, very limited, as binary data stored in the file
237will be corrupted, and the size of the file is limited to the amount237will be corrupted, and the size of the file is limited to the amount
238of data that can be transmitted in a single Styx message (8192 bytes).238of data that can be transmitted in a single write
239(see
240.IR sys-read (2)).
239.PP241.PP
240The following code implements a single-threaded logfile242The following code implements a single-threaded logfile
241which can support multiple concurrent writers:243which can support multiple concurrent writers:
man/1/telnet+1−1
@@ -9,7 +9,7 @@ telnet \- make a remote telnet connection · 8 unmodified lines
9uses the Telnet protocol to talk to a remote9uses the Telnet protocol to talk to a remote
10.IR machine ,10.IR machine ,
11addressed using any form acceptable to11addressed using any form acceptable to
12.IR sys-dial (2):12.IR dial (2):
13.IB net ! host ! port13.IB net ! host ! port
14in general.14in general.
15The default15The default
man/10/devattach+3−5
@@ -203,7 +203,7 @@ and consequently those values must remain valid until the last use of · 202 unmodified lines
203.BR up->genbuf .)203.BR up->genbuf .)
204If channel204If channel
205.I c205.I c
206corresponds to a file descriptor on which Styx is served,206corresponds to a file descriptor on which 9P is served,
207.I devdir207.I devdir
208sets both the flag bit208sets both the flag bit
209.B QTMOUNT209.B QTMOUNT
@@ -214,9 +214,7 @@ and the flag bit · 4 unmodified lines
214in214in
215.IB dp ->mode215.IB dp ->mode
216(see216(see
217.I export217.IR sys-export (2)
218in
219.IR sys-dial (2)
220and218and
221.I mount219.I mount
222in220in
@@ -470,7 +468,7 @@ returned by · 247 unmodified lines
470.BR Qid.path ).468.BR Qid.path ).
471If469If
472.I c470.I c
473is a communications channel connecting a Styx server to a current mount point,471is a communications channel connecting a 9P server to a current mount point,
474the472the
475.B DMMOUNT473.B DMMOUNT
476bit is set in the resulting474bit is set in the resulting
man/10/odbc+12−1
@@ -7,11 +7,13 @@ ODBC \- A Windows ODBC file server · 6 unmodified lines
7.B -d7.B -d
8] [8] [
9.BI -p " port"9.BI -p " port"
10] [
11.BI -u " user"
10]12]
11.SH DESCRIPTION13.SH DESCRIPTION
12.I Odbc14.I Odbc
13is a file server that runs under Windows and15is a file server that runs under Windows and
14exports a Styx namespace16exports a 9P namespace
15(see17(see
16.IR intro (5)).18.IR intro (5)).
17An Inferno process that mounts the namespace19An Inferno process that mounts the namespace
@@ -26,6 +28,15 @@ to print debugging information. · 8 unmodified lines
26The28The
27.B -p29.B -p
28option gives the port number to listen on for connections. The default is 6700.30option gives the port number to listen on for connections. The default is 6700.
31.PP
32By default, the user
33.B inferno
34owns the files in the name space.
35The
36.B -u
37option makes
38.I user
39own the files instead.
29.SS Name space40.SS Name space
30.I Odbc41.I Odbc
31presents the following name space:42presents the following name space:
man/10/styx+6−5
@@ -40,7 +40,8 @@ uint sizeD2M(Dir *d) · 39 unmodified lines
40These40These
41routines convert messages in the machine-independent format of41routines convert messages in the machine-independent format of
42the Inferno file protocol,42the Inferno file protocol,
43Styx (which is equivalent to the Plan 9 protocol 9P2000),43described by
44.IR intro (5),
44to and from a more convenient form,45to and from a more convenient form,
45an46an
46.B Fcall47.B Fcall
@@ -129,7 +130,7 @@ void PBIT64(uchar*, vlong) · 82 unmodified lines
129This structure is defined in130This structure is defined in
130.BR <styx.h> .131.BR <styx.h> .
131See section 5132See section 5
132for a full description of Styx messages and their encoding.133for a full description of 9P messages and their encoding.
133For all message types, the134For all message types, the
134.B type135.B type
135field of an136field of an
@@ -149,7 +150,7 @@ The other fields are used selectively by the message types · 13 unmodified lines
149given in comments.150given in comments.
150.PP151.PP
151.I ConvM2S152.I ConvM2S
152takes a Styx message at153takes a 9P message at
153.I ap154.I ap
154of length155of length
155.IR nap ,156.IR nap ,
@@ -197,7 +198,7 @@ are copied into the message. · 41 unmodified lines
197The constant198The constant
198.B IOHDRSZ199.B IOHDRSZ
199is a suitable amount of buffer to reserve for storing200is a suitable amount of buffer to reserve for storing
200the Styx header;201the 9P header;
201the data portion of a202the data portion of a
202.B Twrite203.B Twrite
203or204or
@@ -295,7 +296,7 @@ which is a simple but effective test of validity. · 91 unmodified lines
295and296and
296.I buf297.I buf
297should include the second two-byte (16-bit) length field that precedes the entry when298should include the second two-byte (16-bit) length field that precedes the entry when
298formatted in a Styx message (see299formatted in a 9P message (see
299.IR stat (5));300.IR stat (5));
300in other words,301in other words,
301.I nbuf302.I nbuf
man/2/drawmux+1−1
@@ -52,7 +52,7 @@ and the log (base 2) of the number of bits per pixel for windows created on that · 51 unmodified lines
52The remote viewer must then use52The remote viewer must then use
53.B Sys->export53.B Sys->export
54(see54(see
55.IR sys-dial (2))55.IR sys-export (2))
56to export its56to export its
57.BR /dev/draw ,57.BR /dev/draw ,
58which58which
man/2/registries+3−3
@@ -108,7 +108,7 @@ It has the following members and operations: · 107 unmodified lines
108.TP108.TP
109.B addr109.B addr
110A string that represents where the service can be reached: it is often a110A string that represents where the service can be reached: it is often a
111.IR sys-dial (2)111.IR dial (2)
112address string, but might be a name in the name space; the interpretation is internal to112address string, but might be a name in the name space; the interpretation is internal to
113.BR Registries .113.BR Registries .
114.TP114.TP
@@ -148,7 +148,7 @@ It provides the following members: · 33 unmodified lines
148.TP148.TP
149.B fd149.B fd
150A file descriptor that can be read and written to exchange data with the service.150A file descriptor that can be read and written to exchange data with the service.
151The meaning of the data depends on the service (eg, it might be a Styx connection151The meaning of the data depends on the service (eg, it might be a 9P connection
152or a SOAP implementation).152or a SOAP implementation).
153Typically an attribute of the service description hints at the protocol.153Typically an attribute of the service description hints at the protocol.
154.TP154.TP
@@ -222,7 +222,7 @@ Connect to the registry at the location determined by the service description · 67 unmodified lines
222if222if
223.I svc223.I svc
224is nil, the default is to try224is nil, the default is to try
225.IR sys-dial (2)225.IR dial (2)
226to226to
227.BR net!$registry!registry ,227.BR net!$registry!registry ,
228the symbolic name of the default registry for the current host.228the symbolic name of the default registry for the current host.
man/2/secstore+17−16
@@ -3,6 +3,7 @@ · 2 unmodified lines
3secstore \- fetch data from Plan 9's secure storage service3secstore \- fetch data from Plan 9's secure storage service
4.SH SYNOPSIS4.SH SYNOPSIS
5.EX5.EX
6include "dial.m";
6include "secstore.m";7include "secstore.m";
7secstore := load Secstore Secstore->PATH;8secstore := load Secstore Secstore->PATH;
8 9
@@ -12,19 +13,19 @@ init: fn(); · 3 unmodified lines
12privacy: fn(): int;13privacy: fn(): int;
13cansecstore: fn(addr: string, user: string): int;14cansecstore: fn(addr: string, user: string): int;
14mkseckey: fn(pass: string): array of byte;15mkseckey: fn(pass: string): array of byte;
15dial: fn(addr: string): ref Sys->Connection;16dial: fn(addr: string): ref Dial->Connection;
16auth: fn(conn: ref Sys->Connection, user: string, seckey: array of byte):17auth: fn(conn: ref Dial->Connection, user: string, seckey: array of byte):
17 (string, string);18 (string, string);
18connect: fn(addr: string, user: string, seckey: array of byte):19connect: fn(addr: string, user: string, seckey: array of byte):
19 (ref Sys->Connection, string, string);20 (ref Dial->Connection, string, string);
20sendpin: fn(conn: ref Sys->Connection, pin: string): int;21sendpin: fn(conn: ref Dial->Connection, pin: string): int;
21files: fn(conn: ref Sys->Connection):22files: fn(conn: ref Dial->Connection):
22 list of (string, int, string, string, array of byte);23 list of (string, int, string, string, array of byte);
23getfile: fn(conn: ref Sys->Connection, name: string,24getfile: fn(conn: ref Dial->Connection, name: string,
24 maxsize: int): array of byte;25 maxsize: int): array of byte;
25.\"putfile: fn(conn: ref Sys->Connection, name: string, data: array of byte,): int;26.\"putfile: fn(conn: ref Dial->Connection, name: string, data: array of byte,): int;
26remove: fn(conn: ref Sys->Connection, file: string): int;27remove: fn(conn: ref Dial->Connection, file: string): int;
27bye: fn(conn: ref Sys->Connection);28bye: fn(conn: ref Dial->Connection);
28 29
29mkfilekey: fn(pass: string): array of byte;30mkfilekey: fn(pass: string): array of byte;
30decrypt: fn(data: array of byte, filekey: array of byte): array of byte;31decrypt: fn(data: array of byte, filekey: array of byte): array of byte;
@@ -43,16 +44,16 @@ that can then be used to fetch and decrypt data files, such as the · 12 unmodified lines
43file containing the initial keys for an instance of44file containing the initial keys for an instance of
44.IR factotum (4).45.IR factotum (4).
45The module's functions hold the file descriptors for the connection in a46The module's functions hold the file descriptors for the connection in a
46.BR Sys->Connection47.BR Dial->Connection
47value,48value,
48as returned by49as returned by
49.IR sys-dial (2).50.IR dial (2).
50The51The
51.I addr52.I addr
52parameter that gives the network address of the53parameter that gives the network address of the
53.I secstore54.I secstore
54service is also as defined in55service is also as defined in
55.IR sys-dial (2).56.IR dial (2).
56A nil value defaults to57A nil value defaults to
57.BR "net!$auth!secstore" ,58.BR "net!$auth!secstore" ,
58for translation in the usual way by59for translation in the usual way by
@@ -94,9 +95,9 @@ dials the · 35 unmodified lines
94at network address95at network address
95.I addr96.I addr
96(as defined by97(as defined by
97.IR sys-dial (2))98.IR dial (2))
98and returns a reference to the resulting99and returns a reference to the resulting
99.BR Sys->Connection .100.BR Dial->Connection .
100It returns nil on an error and sets the error string.101It returns nil on an error and sets the error string.
101.PP102.PP
102.B Auth103.B Auth
@@ -106,7 +107,7 @@ of the service. · 3 unmodified lines
106The parameter107The parameter
107.I conn108.I conn
108refers to the109refers to the
109.B Sys->Connection110.B Dial->Connection
110value representing the connection.111value representing the connection.
111.I User112.I User
112names a user registered with the service.113names a user registered with the service.
man/2/security-login+1−1
@@ -44,7 +44,7 @@ CA. · 43 unmodified lines
44.PP44.PP
45.B Login45.B Login
46connects, using46connects, using
47.IR sys-dial (2),47.IR dial (2),
48to the signer at network address48to the signer at network address
49.IR addr ,49.IR addr ,
50which is any form accepted by50which is any form accepted by
man/2/srv+1−1
@@ -34,7 +34,7 @@ and · 33 unmodified lines
34.IR dns (6)34.IR dns (6)
35if available.35if available.
36Other Inferno applications normally give network addresses to the functions of36Other Inferno applications normally give network addresses to the functions of
37.IR sys-dial (2),37.IR dial (2),
38and they are then translated automatically, using the services of38and they are then translated automatically, using the services of
39.IR cs (8).39.IR cs (8).
40.PP40.PP
man/2/styx+7−6
@@ -1,6 +1,6 @@
1.TH STYX 21.TH STYX 2
2.SH NAME2.SH NAME
3Styx: Rmsg, Tmsg, dir2text, istmsg, packdir, packdirsize, readmsg, qid2text, unpackdir \- interface to Styx file protocol3Styx: Rmsg, Tmsg, dir2text, istmsg, packdir, packdirsize, readmsg, qid2text, unpackdir \- interface to 9P (Styx) file protocol
4.SH SYNOPSIS4.SH SYNOPSIS
5.EX5.EX
6include "styx.m";6include "styx.m";
@@ -118,13 +118,14 @@ MAXRPC: con \fIimplementation-defined\f5; · 111 unmodified lines
118.EE118.EE
119.SH DESCRIPTION119.SH DESCRIPTION
120.B Styx120.B Styx
121provides a Limbo interface to send and receive messages of the Styx file service protocol,121provides a Limbo interface to send and receive messages of the 9P file service protocol,
122described by Section 5 of this manual (a thorough reading of which122described by Section 5 of this manual, a thorough reading of which
123is advised before using this module).123is advised before using this module.
124(The protocol was previously called `Styx' in Inferno, hence the module's name.)
124.B Init125.B Init
125must be called before using any other function in the module.126must be called before using any other function in the module.
126.PP127.PP
127A Styx client transmits requests to a server as `T-messages'128A 9P client transmits requests to a server as `T-messages'
128and receives replies in matching `R-messages'.129and receives replies in matching `R-messages'.
129A T-message is here represented by values of the type130A T-message is here represented by values of the type
130.BR Tmsg ,131.BR Tmsg ,
@@ -232,7 +233,7 @@ Return a printable string showing the contents of · 101 unmodified lines
232for tracing or debugging.233for tracing or debugging.
233.TP234.TP
234.IB t .mtype()235.IB t .mtype()
235Return the Styx message type of the message.236Return the 9P message type of the message.
236.PP237.PP
237An R-message is represented by238An R-message is represented by
238.BR Rmsg .239.BR Rmsg .
man/2/styxconv+7−6
@@ -1,6 +1,6 @@
1.TH STYXCONV 21.TH STYXCONV 2
2.SH NAME2.SH NAME
3styxconv \- convert between old and new Styx3styxconv \- convert between old 1995 Styx and current Styx (9P)
4.SH SYNOPSIS4.SH SYNOPSIS
5.EX5.EX
6include "styxconv.m";6include "styxconv.m";
@@ -12,9 +12,10 @@ styxconv: fn(client: ref Sys->FD, server: ref Sys->FD); · 5 unmodified lines
12.EE12.EE
13.SH DESCRIPTION13.SH DESCRIPTION
14.B Styxconv14.B Styxconv
15converts between the previous version of the Styx protocol,15converts between the obsolete 1995 version of the Styx protocol,
16as used for instance in Inferno's Third Edition and earlier,16as used for instance in Inferno's Third Edition and earlier,
17and the current version of the protocol,17and the current file service protocol,
18previously also called `Styx' but
18based on 9P2000 and defined by19based on 9P2000 and defined by
19.IR intro (5).20.IR intro (5).
20.PP21.PP
@@ -25,10 +26,10 @@ The function · 4 unmodified lines
25.B styxconv26.B styxconv
26takes two file descriptors:27takes two file descriptors:
27.I client28.I client
28should be a connection to a styx client requiring29should be a connection to a client requiring
29one version of the protocol;30one version of the protocol;
30.I server31.I server
31should be a connection to a styx server serving32should be a connection to a server serving
32the other version of the protocol.33the other version of the protocol.
33There are two conversion modules:34There are two conversion modules:
34.B PATHNEW2OLD35.B PATHNEW2OLD
@@ -74,4 +75,4 @@ cvstyx(fd: ref Sys->FD): ref Sys->FD · 39 unmodified lines
74.IR sys-pipe (2),75.IR sys-pipe (2),
75.IR intro (5)76.IR intro (5)
76.SH BUGS77.SH BUGS
77There is no provision for 9p2000 authentication.78There is no provision for 9P2000 authentication.
man/2/styxflush+5−5
@@ -1,6 +1,6 @@
1.TH STYXFLUSH 21.TH STYXFLUSH 2
2.SH NAME2.SH NAME
3styxflush \- handler for styx flush protocol3styxflush \- handler for 9P (Styx) flush protocol
4.SH SYNOPSIS4.SH SYNOPSIS
5.EX5.EX
6include "sys.m";6include "sys.m";
@@ -16,17 +16,17 @@ rmsg: fn(m: ref Styx->Rmsg): int; · 9 unmodified lines
16Einterrupted: con "interrupted";16Einterrupted: con "interrupted";
17.EE17.EE
18.SH DESCRIPTION18.SH DESCRIPTION
19Getting the semantics of the Styx19Getting the semantics of the 9P
20.IR flush (5)20.IR flush (5)
21protocol correct when handling requests concurrently21protocol correct when handling requests concurrently
22is surprisingly hard to do.22is surprisingly hard to do.
23.I Styxflush23.I Styxflush
24is designed to help get it right. It deals with Styx24is designed to help get it right. It deals with 9P
25messages for a single styx session \- if a server needs to25messages for a single 9P session \- if a server needs to
26deal with multiple sessions, then multiple instances of26deal with multiple sessions, then multiple instances of
27.I styxflush27.I styxflush
28should be loaded. It assumes there is a loop in a central process28should be loaded. It assumes there is a loop in a central process
29which both reads T-messages and sends their R-message replies.29that both reads T-messages and sends their R-message replies.
30.I Styxflush30.I Styxflush
31handles the flushing of requests that are being run31handles the flushing of requests that are being run
32outside the central process.32outside the central process.
man/2/styxpersist+6−6
@@ -1,20 +1,20 @@
1.TH STYXPERSIST 21.TH STYXPERSIST 2
2.SH NAME2.SH NAME
3styxpersist \- persistent Styx connection3styxpersist \- persistent 9P (Styx) connection
4.SH SYNOPSIS4.SH SYNOPSIS
5.EX5.EX
6include "sys.m";6include "sys.m";
7include "styxpersist.m";7include "styxpersist.m";
8styxpersist := load Styxpersist Styxpersist->PATH;8styxpersist := load Styxpersist Styxpersist->PATH;
9 9
10init: fn(clientfd: ref Sys->FD, usefac: int, keyspec: string)10init: fn(clientfd: ref Sys->FD, usefac: int, keyspec: string):
11 : (chan of chan of ref Sys->FD, string);11 (chan of chan of ref Sys->FD, string);
12.EE12.EE
13.SH DESCRIPTION13.SH DESCRIPTION
14.I Styxpersist14.I Styxpersist
15tries to maintain a persistent Styx connection for its client.15tries to maintain a persistent 9P (Styx) connection for its client.
16.B Init16.B Init
17starts a process to serve Styx for the client on17starts a process to serve 9P for the client on
18.IR clientfd .18.IR clientfd .
19If19If
20.I usefac20.I usefac
@@ -77,4 +77,4 @@ Plan 9 style. If a client uses an external factotum with different keys, · 56 unmodified lines
77may be unable to re-authenticate.77may be unable to re-authenticate.
78.SH "SEE ALSO"78.SH "SEE ALSO"
79.IR mount (1),79.IR mount (1),
80.IR sys-dial (2)80.IR dial (2)
man/2/styxservers+8−8
@@ -1,7 +1,7 @@
1.TH STYXSERVERS 21.TH STYXSERVERS 2
2.SH NAME2.SH NAME
3styxservers \-3styxservers \-
4Styx server implementation assistance49P (Styx) server implementation assistance
5.SH SYNOPSIS5.SH SYNOPSIS
6.EX6.EX
7include "sys.m";7include "sys.m";
@@ -14,7 +14,7 @@ Styxserver, Fid, Navigator: import styxservers; · 6 unmodified lines
14Styxserver: adt {14Styxserver: adt {
15 fd: ref Sys->FD; # file server end of connection15 fd: ref Sys->FD; # file server end of connection
16 t: ref Navigator; # name space navigator for this server16 t: ref Navigator; # name space navigator for this server
17 msize: int; # negotiated Styx message size17 msize: int; # negotiated 9P message size
18 18
19 new: fn(fd: ref Sys->FD, t: ref Navigator, rootpath: big)19 new: fn(fd: ref Sys->FD, t: ref Navigator, rootpath: big)
20 :(chan of ref Tmsg, ref Styxserver);20 :(chan of ref Tmsg, ref Styxserver);
@@ -103,7 +103,7 @@ openok: fn(uname: string, omode, · 82 unmodified lines
103openmode: fn(o: int): int;103openmode: fn(o: int): int;
104.EE104.EE
105.SH DESCRIPTION105.SH DESCRIPTION
106When writing a Styx file server, there are some106When writing a file server, there are some
107commonly performed tasks that are107commonly performed tasks that are
108fiddly or tedious to implement each time.108fiddly or tedious to implement each time.
109.B Styxservers109.B Styxservers
@@ -119,7 +119,7 @@ left to the file server program itself. · 9 unmodified lines
119Familiarity with Section 5 of the manual which defines the protocol119Familiarity with Section 5 of the manual which defines the protocol
120(see120(see
121.IR intro (5)),121.IR intro (5)),
122and with the representation of Styx messages in Limbo122and with the representation of 9P messages in Limbo
123(see123(see
124.IR styx (2)),124.IR styx (2)),
125is a prerequisite for use of this module.125is a prerequisite for use of this module.
@@ -322,7 +322,7 @@ reference · 196 unmodified lines
322which can be used to access that navigator; and322which can be used to access that navigator; and
323the file descriptor323the file descriptor
324.IB srv .fd324.IB srv .fd
325that is the file server's end of the connection to the Styx client.325that is the file server's end of the connection to the 9P client.
326Both values are initially provided by the file serving application,326Both values are initially provided by the file serving application,
327but can be accessed through the327but can be accessed through the
328.B Styxserver328.B Styxserver
@@ -345,7 +345,7 @@ It returns a tuple, say · 16 unmodified lines
345.RI ( c ", " srv ),345.RI ( c ", " srv ),
346and spawns a new process, which uses346and spawns a new process, which uses
347.IR styx (2)347.IR styx (2)
348to read and parse Styx messages read348to read and parse 9P messages read
349from349from
350.IR fd ,350.IR fd ,
351and send them down351and send them down
@@ -892,14 +892,14 @@ with OTRUNC and ORCLOSE flags removed. · 540 unmodified lines
892If892If
893.I on893.I on
894is true (non-zero),894is true (non-zero),
895will trace Styx requests and replies, on standard error.895will trace 9P requests and replies, on standard error.
896This option must be set before creating a896This option must be set before creating a
897.BR Styxserver ,897.BR Styxserver ,
898to ensure that it preserves its standard error descriptor.898to ensure that it preserves its standard error descriptor.
899.SS Constants899.SS Constants
900.B Styxservers900.B Styxservers
901defines a number of constants applicable to the writing901defines a number of constants applicable to the writing
902of Styx servers, including:902of 9P servers, including:
903.TP903.TP
904.BR Einuse\fP,\fP\ Ebadfid\fP,\fP\ Eopen\fP,\fP\ Enotfound\fP,\fP\ Enotdir\fP,\fP\ Eperm\fP,\fP\ Ebadarg\fP,\fP\ Eexists904.BR Einuse\fP,\fP\ Ebadfid\fP,\fP\ Eopen\fP,\fP\ Enotfound\fP,\fP\ Enotdir\fP,\fP\ Eperm\fP,\fP\ Ebadarg\fP,\fP\ Eexists
905These provide standard strings for commonly used error conditions,905These provide standard strings for commonly used error conditions,
man/2/sys-0intro+2−2
@@ -210,8 +210,8 @@ will be honoured for a file depends entirely on the underlying file server · 209 unmodified lines
210Record locking in the underlying file system is not supported by Inferno.210Record locking in the underlying file system is not supported by Inferno.
211Processes can coordinate their file operations by other mechanisms.211Processes can coordinate their file operations by other mechanisms.
212.PP212.PP
213Atomicity is guaranteed for byte counts smaller than the213Atomicity is guaranteed for byte counts no larger than the
214.I Styx214.I 9P
215message size;215message size;
216see216see
217.IR read (5).217.IR read (5).
man/2/sys-bind+1−1
@@ -54,7 +54,7 @@ The · 53 unmodified lines
54argument to54argument to
55.B mount55.B mount
56is a file descriptor of an open pipe or network connection56is a file descriptor of an open pipe or network connection
57to a file server ready to receive Styx messages.57to a file server ready to receive 9P messages.
58The58The
59.I old59.I old
60file must be a directory.60file must be a directory.
man/2/sys-export+2−2
@@ -11,7 +11,7 @@ export: fn(fd: ref FD, dir: string, flag: int): int; · 10 unmodified lines
11.SH DESCRIPTION11.SH DESCRIPTION
12.B Export12.B Export
13receives and replies13receives and replies
14to Styx requests from a client on a connection represented by14to 9P requests from a client on a connection represented by
15.IR fd ,15.IR fd ,
16for file operations on the part of the current file name space16for file operations on the part of the current file name space
17rooted at17rooted at
@@ -40,7 +40,7 @@ of a · 22 unmodified lines
40returned by40returned by
41.B listen41.B listen
42(see42(see
43.IR sys-dial (2)).43.IR dial (2)).
44Before calling44Before calling
45.BR export ,45.BR export ,
46the connection on46the connection on
man/2/sys-fauth+1−1
@@ -11,7 +11,7 @@ fauth: fn(fd: ref FD, aname: string): ref FD; · 10 unmodified lines
11.SH DESCRIPTION11.SH DESCRIPTION
12.B Fauth12.B Fauth
13provides a means for the current user to authenticate to access13provides a means for the current user to authenticate to access
14resources available through the Styx connection represented by14resources available through the 9P connection represented by
15.IR fd .15.IR fd .
16The return value is a file descriptor, conventionally called16The return value is a file descriptor, conventionally called
17.IR afd ,17.IR afd ,
man/2/sys-file2chan+1−1
@@ -49,7 +49,7 @@ the contents of the · 48 unmodified lines
49.B Tread49.B Tread
50and50and
51.B Twrite51.B Twrite
52Styx messages received by the system on the server's behalf; see529P messages received by the system on the server's behalf; see
53.IR intro (5).53.IR intro (5).
54.PP54.PP
55When the client invokes the55When the client invokes the
man/2/sys-fversion+3−3
@@ -1,6 +1,6 @@
1.TH SYS-FVERSION 21.TH SYS-FVERSION 2
2.SH NAME2.SH NAME
3fversion \- initialize Styx connection and negotiate version3fversion \- initialize 9P connection and negotiate version
4.SH SYNOPSIS4.SH SYNOPSIS
5.EX5.EX
6include "sys.m";6include "sys.m";
@@ -10,13 +10,13 @@ fversion: fn(fd: ref FD, bufsize: int, version: string): (int, string); · 3 unmodified lines
10.EE10.EE
11.SH DESCRIPTION11.SH DESCRIPTION
12.B Fversion12.B Fversion
13initialises the Styx connection represented by13initialises the 9P connection represented by
14.I fd14.I fd
15and negotiates the maximum message size and the version of the protocol to be used.15and negotiates the maximum message size and the version of the protocol to be used.
16.PP16.PP
17The17The
18.I bufsize18.I bufsize
19determines the size of the I/O buffer used to stage Styx requests to the server,19determines the size of the I/O buffer used to stage 9P requests to the server,
20subject to the constraints of the server itself.20subject to the constraints of the server itself.
21The21The
22.I version22.I version
man/2/sys-iounit+1−1
@@ -9,7 +9,7 @@ sys := load Sys Sys->PATH; · 8 unmodified lines
9iounit: fn(fd: ref FD): int;9iounit: fn(fd: ref FD): int;
10.EE10.EE
11.SH DESCRIPTION11.SH DESCRIPTION
12Reads and writes of files are transmitted using the Styx protocol (see12Reads and writes of files are transmitted using the 9P protocol (see
13.IR intro (5))13.IR intro (5))
14and in general, operations involving large amounts of data must be14and in general, operations involving large amounts of data must be
15broken into smaller pieces by the operating system.15broken into smaller pieces by the operating system.
man/2/sys-pipe+2−2
@@ -33,12 +33,12 @@ communication by cooperating processes. · 32 unmodified lines
33Pipes are still useful, however,33Pipes are still useful, however,
34to connect applications that do not (or cannot) share such channels,34to connect applications that do not (or cannot) share such channels,
35or when a system interface requires a file descriptor.35or when a system interface requires a file descriptor.
36For instance, a process that serves the Styx protocol can36For instance, a process that serves the 9P protocol can
37pass the file descriptor for one end of a pipe to37pass the file descriptor for one end of a pipe to
38.B Sys->mount38.B Sys->mount
39(see39(see
40.IR sys-bind (2)),40.IR sys-bind (2)),
41and read and write Styx messages on the other end of the pipe.41and read and write 9P messages on the other end of the pipe.
42.SH DIAGNOSTICS42.SH DIAGNOSTICS
43Returns 0 on success; -1 on failure.43Returns 0 on success; -1 on failure.
44.SH "SEE ALSO"44.SH "SEE ALSO"
man/2/virgil+1−1
@@ -39,7 +39,7 @@ It accepts and returns the first answer it receives. · 38 unmodified lines
39.SH SOURCE39.SH SOURCE
40.B /appl/lib/virgil.b40.B /appl/lib/virgil.b
41.SH SEE ALSO41.SH SEE ALSO
42.IR sys-dial (2),42.IR dial (2),
43.IR cs (8),43.IR cs (8),
44.IR register (8),44.IR register (8),
45.IR virgild (8)45.IR virgild (8)
man/3/0intro+1−1
@@ -29,7 +29,7 @@ device. · 28 unmodified lines
29.PP29.PP
30A kernel device driver is a30A kernel device driver is a
31.I server31.I server
32in the sense of the Inferno File Protocol, Styx (see Section 5),32in the sense of the Inferno File Protocol, 9P (see Section 5),
33but with the messages implemented by local33but with the messages implemented by local
34rather than remote procedure calls.34rather than remote procedure calls.
35Also, several of the messages35Also, several of the messages
man/3/ip+4−4
@@ -243,7 +243,7 @@ The · 242 unmodified lines
243and243and
244.BR listen244.BR listen
245functions described in245functions described in
246.IR sys-dial (2)246.IR dial (2)
247perform the necessary I/O to establish and247perform the necessary I/O to establish and
248manipulate network connections.248manipulate network connections.
249.SS TCP protocol249.SS TCP protocol
@@ -747,7 +747,7 @@ and · 497 unmodified lines
747.IB device !0x806747.IB device !0x806
748(ARP).748(ARP).
749See749See
750.IR sys-dial (2)750.IR dial (2)
751for the interpretation of such addresses.751for the interpretation of such addresses.
752The interface runs until a process does an explicit752The interface runs until a process does an explicit
753.BR unbind .753.BR unbind .
@@ -807,7 +807,7 @@ contains · 53 unmodified lines
807a connection will be opened using807a connection will be opened using
808.B dial808.B dial
809(see809(see
810.IR sys-dial (2)).810.IR dial (2)).
811Otherwise the name will be opened as-is;811Otherwise the name will be opened as-is;
812usually it is the name of a serial device812usually it is the name of a serial device
813(eg,813(eg,
@@ -921,6 +921,6 @@ to be set, or the current user lacks the privileges to set it. · 107 unmodified lines
921.br921.br
922.B /os/ip/*medium.c922.B /os/ip/*medium.c
923.SH "SEE ALSO"923.SH "SEE ALSO"
924.IR sys-dial (2)924.IR dial (2)
925.\" joinmulti and leavemulti are unimplemented925.\" joinmulti and leavemulti are unimplemented
926.\" many media are only partly implemented926.\" many media are only partly implemented
man/3/logfs+2−2
@@ -44,7 +44,7 @@ devices are supported. · 43 unmodified lines
44.PP44.PP
45The file system maintains two storage regions on the same medium:45The file system maintains two storage regions on the same medium:
46a log-structured hierarchical file system that implements all the46a log-structured hierarchical file system that implements all the
47functionality communicable by the Styx protocol47functionality communicable by the 9P protocol
48(see48(see
49.IR intro (5)),49.IR intro (5)),
50and a boot50and a boot
@@ -106,7 +106,7 @@ two files appear in the device name space, · 55 unmodified lines
106.BI /dev/logfs name106.BI /dev/logfs name
107and107and
108.BI /dev/logfs name\f5boot\fI.108.BI /dev/logfs name\f5boot\fI.
109The former serves the Styx protocol giving access to the hierarchical file system;109The former serves the 9P protocol giving access to the hierarchical file system;
110the latter is a fixed size file that represents the boot partition.110the latter is a fixed size file that represents the boot partition.
111.TP111.TP
112.BI [fsys " name\f5] format \fIbootsize"112.BI [fsys " name\f5] format \fIbootsize"
man/3/mnt+6−6
@@ -1,6 +1,6 @@
1.TH MNT 3 1.TH MNT 3
2.SH NAME2.SH NAME
3mnt \- attach to Styx servers3mnt \- attach to 9P servers
4.SH SYNOPSIS4.SH SYNOPSIS
5.nf5.nf
6.B #M6.B #M
@@ -15,12 +15,12 @@ is used by · 8 unmodified lines
15see15see
16.IR sys-bind (2))16.IR sys-bind (2))
17to connect the name space of a process to17to connect the name space of a process to
18the service provided by a Styx server over a communications channel.18the service provided by a 9P server over a communications channel.
19After the19After the
20.BR mount ,20.BR mount ,
21file operations in that portion of the name space will21file operations in that portion of the name space will
22be converted by the mount driver into the appropriate22be converted by the mount driver into the appropriate
23Styx messages to the server, and its Styx replies returned239P messages to the server, and its 9P replies returned
24as the status of the system calls.24as the status of the system calls.
25.PP25.PP
26Any authentication must precede26Any authentication must precede
@@ -40,8 +40,8 @@ Each distinct user of a connection must mount it separately; · 13 unmodified lines
40the mount driver multiplexes the access of the various users and their40the mount driver multiplexes the access of the various users and their
41processes to the service.41processes to the service.
42.PP42.PP
43File-oriented system calls are converted by the kernel into messages in the Styx protocol.43File-oriented system calls are converted by the kernel into messages in the 9P protocol.
44Within the kernel, Styx is implemented by procedure calls to the44Within the kernel, 9P is implemented by procedure calls to the
45various kernel device drivers, as described in45various kernel device drivers, as described in
46.IR intro (10)46.IR intro (10)
47and47and
@@ -61,7 +61,7 @@ system call on a file served by the mount driver · 13 unmodified lines
61may be translated61may be translated
62into more than one62into more than one
63message,63message,
64since there is a maximum data size for a Styx message.64since there is a maximum data size for a 9P message.
65The system call65The system call
66will return when the specified number of bytes have been transferred66will return when the specified number of bytes have been transferred
67or a short reply is returned.67or a short reply is returned.
man/3/plap+1−1
@@ -126,7 +126,7 @@ The device follows the conventions that allow · 125 unmodified lines
126and126and
127.B listen127.B listen
128of128of
129.IR sys-dial (2)129.IR dial (2)
130to do the work needed to establish and manipulate network connections.130to do the work needed to establish and manipulate network connections.
131.SH SOURCE131.SH SOURCE
132.B /os/pc/devplap.c132.B /os/pc/devplap.c
man/3/tls+1−1
@@ -267,7 +267,7 @@ and · 266 unmodified lines
267.BR 'sha1' .267.BR 'sha1' .
268.SH "SEE ALSO"268.SH "SEE ALSO"
269.IR listen (1),269.IR listen (1),
270.IR sys-dial (2),270.IR dial (2),
271.IR ssl (3)271.IR ssl (3)
272\".IR pushtls (2)272\".IR pushtls (2)
273.SH SOURCE273.SH SOURCE
man/4/0intro+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
2.SH NAME2.SH NAME
3intro \- introduction to file servers3intro \- introduction to file servers
4.SH DESCRIPTION4.SH DESCRIPTION
5This section describes programs that serve Styx5This section describes programs that serve 9P
6(see6(see
7.IR intro (5)),7.IR intro (5)),
8and can therefore8and can therefore
man/4/dossrv+1−1
@@ -27,7 +27,7 @@ makes the contents of a DOS/Windows file system visible in the Inferno name spac · 26 unmodified lines
27The options are:27The options are:
28.TP28.TP
29.B -v29.B -v
30print a debugging trace, including Styx messages, on standard error30print a debugging trace, including 9P messages, on standard error
31.TP31.TP
32.B -F32.B -F
33display FAT information33display FAT information
man/4/export+6−7
@@ -13,12 +13,10 @@ export \- export name space on a connection · 12 unmodified lines
13.SH DESCRIPTION13.SH DESCRIPTION
14.I Export14.I Export
15calls15calls
16.B Sys->export16.IR sys-export (2)
17(see17to serve the name space rooted at
18.IR sys-dial (2))
19to serve a name space rooted at
20.I dir18.I dir
21over a connection to a Styx client.19over a connection to a 9P (Styx) client.
22.I Export20.I Export
23opens the connection on the given21opens the connection on the given
24.IR file ,22.IR file ,
@@ -35,7 +33,7 @@ serves the current name space without forking it; changes made to it · 10 unmodified lines
35will be visible to clients.33will be visible to clients.
36.PP34.PP
37.I Export35.I Export
38starts serving Styx immediately; it assumes that the connection36starts serving 9P immediately; it assumes that the connection
39has been authenticated if required.37has been authenticated if required.
40.I Export38.I Export
41is typically called via39is typically called via
@@ -53,5 +51,6 @@ unless a transport protocol is run on the connection. · 11 unmodified lines
53.SH SEE ALSO51.SH SEE ALSO
54.IR cpu (1),52.IR cpu (1),
55.IR listen (1),53.IR listen (1),
56.IR sys-dial (2),54.IR dial (2),
55.IR sys-export (2),
57.IR intro (5)56.IR intro (5)
man/4/ftpfs+1−1
@@ -23,7 +23,7 @@ visible at · 22 unmodified lines
23.BR /n/ftp )23.BR /n/ftp )
24in the current name space,24in the current name space,
25for access by ordinary Inferno file operations.25for access by ordinary Inferno file operations.
26In other words, it is a protocol translator between FTP and Styx.26In other words, it is a protocol translator between FTP and 9P.
27The connection is shut down by unmounting the mount point;27The connection is shut down by unmounting the mount point;
28see28see
29.IR bind (1).29.IR bind (1).
man/4/grid-cpu+1−1
@@ -53,7 +53,7 @@ For example, to import · 52 unmodified lines
53.B /dis53.B /dis
54and54and
55.B /dev55.B /dev
56from a resource exporting a Styx (see56from a resource exporting a 9P (see
57.IR intro(5))57.IR intro(5))
58namespace at address58namespace at address
59.B tcp!200.1.5.53!700359.B tcp!200.1.5.53!7003
man/4/iostats+1−1
@@ -65,7 +65,7 @@ Display summary of file I/O incurred by · 64 unmodified lines
65iostats ls65iostats ls
66.EE66.EE
67.PP67.PP
68Start a new shell, displaying all Styx traffic caused by the shell or its children:68Start a new shell, displaying all 9P traffic caused by the shell or its children:
69.IP69.IP
70.EX70.EX
71iostats -df /fd/1 sh71iostats -df /fd/1 sh
man/4/kfs+1−1
@@ -21,7 +21,7 @@ kfs \- disk file system · 20 unmodified lines
21implements a hierarchical Inferno file system within an existing21implements a hierarchical Inferno file system within an existing
22.IR file ,22.IR file ,
23which is typically a disk or flash memory partition.23which is typically a disk or flash memory partition.
24It gives access to it through the Styx protocol on its standard input,24It gives access to it through the 9P protocol on its standard input,
25and the contents can be mounted directly on a given25and the contents can be mounted directly on a given
26.I dir26.I dir
27as shown above.27as shown above.
man/4/mntgen+1−1
@@ -5,7 +5,7 @@ mntgen \- dynamically generate mount points · 4 unmodified lines
5.BI "mount {mntgen} " dir5.BI "mount {mntgen} " dir
6.SH DESCRIPTION6.SH DESCRIPTION
7.I Mntgen7.I Mntgen
8serves a Styx connection on its standard input, providing a name space containing a8serves 9P on its standard input, providing a name space containing a
9single directory that is initially empty, but in which a subdirectory name appears when9single directory that is initially empty, but in which a subdirectory name appears when
10is first referenced, and remains only as long as it is needed (referenced).10is first referenced, and remains only as long as it is needed (referenced).
11.I Mntgen11.I Mntgen
man/4/registry+1−1
@@ -25,7 +25,7 @@ where services come and go. · 24 unmodified lines
25It was originally intended to register Grid resources25It was originally intended to register Grid resources
26but has much wider use.26but has much wider use.
27.I Registry27.I Registry
28serves Styx on its standard input.28serves 9P on its standard input.
29That can be mounted in the local name space (see below for an example),29That can be mounted in the local name space (see below for an example),
30or served over a connection30or served over a connection
31(eg, via31(eg, via
man/6/image+1−1
@@ -135,7 +135,7 @@ image data. · 134 unmodified lines
135The rest of the file is a string of compression blocks, each encoding135The rest of the file is a string of compression blocks, each encoding
136a number of rows of the image's pixel data. Compression blocks136a number of rows of the image's pixel data. Compression blocks
137are at most 6024 bytes long, so that they fit comfortably in a137are at most 6024 bytes long, so that they fit comfortably in a
138single Styx message. Since a compression block must encode a138single 9P message. Since a compression block must encode a
139whole number of rows, there is a limit (about 5825 bytes) to the width of images139whole number of rows, there is a limit (about 5825 bytes) to the width of images
140that may be encoded. Most wide images are in subfonts,140that may be encoded. Most wide images are in subfonts,
141which, at 1 bit per pixel (the usual case for fonts), can be 46600 pixels wide.141which, at 1 bit per pixel (the usual case for fonts), can be 46600 pixels wide.
man/8/collabsrv+4−4
@@ -29,7 +29,7 @@ The services are defined by the contents of directory · 28 unmodified lines
29(default:29(default:
30.BR /services/collab ).30.BR /services/collab ).
31.I Collabsrv31.I Collabsrv
32serves an authenticated Styx connection that exports the contents of32serves an authenticated 9P connection that exports the contents of
33.IB dir /export33.IB dir /export
34(default:34(default:
35.BR /services/collab/export ).35.BR /services/collab/export ).
@@ -57,10 +57,10 @@ all share that name space. · 21 unmodified lines
57The name space is determined by the service.57The name space is determined by the service.
58.PP58.PP
59A client wishing to make use of the services must first59A client wishing to make use of the services must first
60.IR sys-dial (2)60.IR dial (2)
61to connect to61to connect to
62.IR collabsrv,62.IR collabsrv,
63and authenticate and mount the resulting Styx connection.63and authenticate and mount the resulting 9P connection.
64It can do so using the64It can do so using the
65.I mount65.I mount
66command66command
@@ -141,7 +141,7 @@ but usually refer to files in · 74 unmodified lines
141Each141Each
142.I collabsrv142.I collabsrv
143service is represented by a name space peculiar to that service.143service is represented by a name space peculiar to that service.
144The interface to the service is therefore implemented by a service-specific Styx server144The interface to the service is therefore implemented by a service-specific 9P server
145.RI ( disfile145.RI ( disfile
146in the configuration file).146in the configuration file).
147Current services are described below.147Current services are described below.
man/8/cs+3−3
@@ -31,7 +31,7 @@ answering requests by client processes · 30 unmodified lines
31to translate symbolic network and service names into31to translate symbolic network and service names into
32instructions for connecting to the given service.32instructions for connecting to the given service.
33It is normally accessed indirectly by calls to33It is normally accessed indirectly by calls to
34.IR sys-dial (2).34.IR dial (2).
35.PP35.PP
36The network data is taken from the network database files,36The network data is taken from the network database files,
37described in37described in
@@ -76,7 +76,7 @@ or · 38 unmodified lines
76.B announce76.B announce
77as required.77as required.
78(All this activity is normally encapsulated in a call to78(All this activity is normally encapsulated in a call to
79.IR sys-dial (2)).79.IR dial (2).)
80.I Cs80.I Cs
81produces a translation for each network and for each network address on which a symbolic81produces a translation for each network and for each network address on which a symbolic
82.I netaddr82.I netaddr
@@ -243,6 +243,6 @@ map from symbolic service names to servers · 160 unmodified lines
243.br243.br
244.B /appl/cmd/ndb/csquery.b244.B /appl/cmd/ndb/csquery.b
245.SH "SEE ALSO"245.SH "SEE ALSO"
246.IR sys-dial (2),246.IR dial (2),
247.IR ndb (6),247.IR ndb (6),
248.IR dns (8)248.IR dns (8)
man/8/httpd+1−1
@@ -60,7 +60,7 @@ has the following options: · 59 unmodified lines
60Listen for calls on the given60Listen for calls on the given
61.IR address ,61.IR address ,
62expressed using the syntax of62expressed using the syntax of
63.IR sys-dial (2).63.IR dial (2).
64.TP64.TP
65.BI -c " cachesize"65.BI -c " cachesize"
66Set the size of the daemon's cache to66Set the size of the daemon's cache to
man/8/ping+2−2
@@ -17,7 +17,7 @@ ping \- probe the Internet · 16 unmodified lines
17sends ICMP echo requests to a network17sends ICMP echo requests to a network
18.I destination18.I destination
19(which has the syntax accepted by19(which has the syntax accepted by
20.IR sys-dial (2)).20.IR dial (2)).
21The target host, if up, should send a corresponding reply.21The target host, if up, should send a corresponding reply.
22By default, one line is printed for each reply,22By default, one line is printed for each reply,
23containing the sequence number (starting at 0) of the message it answers,23containing the sequence number (starting at 0) of the message it answers,
@@ -54,7 +54,7 @@ in bytes · 30 unmodified lines
54.SH SOURCE54.SH SOURCE
55.B /appl/cmd/ip/ping.b55.B /appl/cmd/ip/ping.b
56.SH SEE ALSO56.SH SEE ALSO
57.IR sys-dial (2),57.IR dial (2),
58.IR ip (3)58.IR ip (3)
59.SH DIAGNOSTICS59.SH DIAGNOSTICS
60.I Ping60.I Ping
man/8/rdbgsrv+6−59
@@ -15,19 +15,13 @@ rdbgsrv \- remote debug server · 14 unmodified lines
15.I mountpoint15.I mountpoint
16.SH DESCRIPTION16.SH DESCRIPTION
17.I Rdbgsrv17.I Rdbgsrv
18is intended for use with versions of
19.IR sboot (10.8)
20that do not use
21.IR styxmon (10.8),
22but serve Styx directly.
23.I Rdbgsrv
24interposes itself between18interposes itself between
25.I dev19.I dev
26(default:20(default:
27.BR /dev/eia0 )21.BR /dev/eia0 )
28and22and
29.I mountpoint23.I mountpoint
30to convey Styx messages via the serial port to and from a Styx server program24to convey 9P messages via the serial port to and from a 9P server program
31running on a board running native Inferno.25running on a board running native Inferno.
32The26The
33.B \-f27.B \-f
@@ -39,8 +33,8 @@ option sets the line speed; the default is 38400 baud. · 5 unmodified lines
39The33The
40.B \-d34.B \-d
41option selects debugging options by a bit mask:35option selects debugging options by a bit mask:
421, print trace of Styx message types;361, print trace of 9P message types;
432, print actual Styx message contents.372, print actual 9P message contents.
44.PP38.PP
45The monitor program on the board must be started first.39The monitor program on the board must be started first.
46.I Rdbgsrv40.I Rdbgsrv
@@ -49,63 +43,16 @@ writes the two byte message · 2 unmodified lines
49and keeps reading the device until it sees the reply43and keeps reading the device until it sees the reply
50.BR ok .44.BR ok .
51It then attempts to mount the exported name space, and45It then attempts to mount the exported name space, and
52copies Styx messages to and from the device.46copies 9P messages to and from the device.
53.PP47.PP
54Once48Once
55.I rdbgsrv49.I rdbgsrv
56is running, several device files provided by the program50is running, any device files provided by the program
57will be visible at51will be visible at
58.IR mountpoint .52.IR mountpoint .
59The files include flash partitions, a console file, and a file representing
60temporary storage in the device's memory:
61.TF sbootconsole
62.PD
63.TP
64.B sbootconsole
65Accepts
66.IR sboot (10.8)
67commands.
68When read, it returns output from recent commands.
69.TP
70.B tmp
71Temporary memory buffer that accepts data to be copied to the flash.
72.TP
73.BI F! partition
74Represents the flash partition with the name
75.IR partition .
76.PP
77The following example
78Inferno
79session on the host mounts the serial device on
80.BR /n/rdbg ,
81and sends commands by writing to
82.BR /n/rdbg/sbootconsole .
83.IP
84.EX
85% bind -b '#t' /dev # ensure /dev/eia0 is visible
86% auxi/rdbgsrv /n/rdbg
87% ls /n/rdbg
88/n/rdbg/F!kern
89/n/rdbg/F!fs
90/n/rdbg/sbootconsole
91/n/rdbg/tmp
92% cp /os/sa1100/isword.p9.gz /n/rdbg/F!kern # copy kernel
93% cp /tmp/fs.tgz /n/rdbg/tmp # copy compressed file system
94% echo c/u T! F!fs >/n/rdbg/sbootconsole
95% cat /n/rdbg/sbootconsole
96% echo P >/n/rdbg/sbootconsole
97% echo b F!kern >/n/rdbg/sbootconsole # boot from F!kern
98.EE
99.PP
100Copying a file containing
101.I sboot
102commands to
103.B /n/rdbg/sbootconsole
104has the same effect as writing the individual commands to the console.
105.SH SOURCE53.SH SOURCE
106.B /appl/auxi/rdbgsrv.b54.B /appl/auxi/rdbgsrv.b
107.SH SEE ALSO55.SH SEE ALSO
108.IR sboot (10.8),56.IR styxchat (8)
109.IR styxmon (10.8)
110.SH BUGS57.SH BUGS
111No error recovery is applied, let alone error correction.58No error recovery is applied, let alone error correction.
man/8/styxchat+9−8
@@ -1,6 +1,6 @@
1.TH STYXCHAT 81.TH STYXCHAT 8
2.SH NAME2.SH NAME
3styxchat \- exchange Styx messages with a server or client3styxchat \- exchange 9P (Styx) messages with a server or client
4.SH SYNOPSIS4.SH SYNOPSIS
5.B styxchat5.B styxchat
6[6[
@@ -16,7 +16,8 @@ styxchat \- exchange Styx messages with a server or client · 9 unmodified lines
16]16]
17.SH DESCRIPTION17.SH DESCRIPTION
18.I Styxchat18.I Styxchat
19exchanges messages with a Styx service.19exchanges messages with a 9P service.
20(9P was previously called `Styx' when used by Inferno, hence the command's name.)
20See21See
21.IR intro (5)22.IR intro (5)
22for the protocol definition.23for the protocol definition.
@@ -27,9 +28,9 @@ It makes a connection to a given · 4 unmodified lines
27if the28if the
28.B -s29.B -s
29option is specified),30option is specified),
30then reads a textual representation of Styx T-messages from the standard31then reads a textual representation of 9P T-messages from the standard
31input and writes them on the connection, with a copy on standard output,32input and writes them on the connection, with a copy on standard output,
32simultaneously reading Styx R-messages from the connection and printing a representation of them33simultaneously reading 9P R-messages from the connection and printing a representation of them
33on standard output.34on standard output.
34Each message is represented by one line35Each message is represented by one line
35on the standard output in the form of a literal of either36on the standard output in the form of a literal of either
@@ -58,7 +59,7 @@ The · 22 unmodified lines
58option causes59option causes
59.I destination60.I destination
60to be interpreted as a network address, as accepted by61to be interpreted as a network address, as accepted by
61.IR sys-dial (2)62.IR dial (2)
62(or63(or
63.I listen64.I listen
64with65with
@@ -67,7 +68,7 @@ If · 2 unmodified lines
67.I destination68.I destination
68is not provided,69is not provided,
69.B styxchat70.B styxchat
70reads and writes Styx messages on its standard input,71reads and writes 9P messages on its standard input,
71using72using
72.B /dev/cons73.B /dev/cons
73where it would usually use its standard input and output.74where it would usually use its standard input and output.
@@ -192,10 +193,10 @@ option, allowing data display to be enabled later. · 118 unmodified lines
192.PP193.PP
193By default,194By default,
194.I styxchat195.I styxchat
195sends a Styx client's T-messages and prints a server's R-messages.196sends a 9P client's T-messages and prints a server's R-messages.
196The197The
197.B -s198.B -s
198option causes it to present a server's view: it prints the T-messages from Styx clients, and sends R-messages199option causes it to present a server's view: it prints the T-messages from 9P clients, and sends R-messages
199as it reads a textual representation of them from standard input:200as it reads a textual representation of them from standard input:
200.IP201.IP
201.br202.br
man/8/styxmon+5−5
@@ -1,6 +1,6 @@
1.TH STYXMON 81.TH STYXMON 8
2.SH NAME2.SH NAME
3styxmon \- monitor a Styx conversation3styxmon \- monitor a 9P (Styx) conversation
4.SH SYNOPSIS4.SH SYNOPSIS
5.B styxmon5.B styxmon
6[6[
@@ -14,13 +14,13 @@ styxmon \- monitor a Styx conversation · 7 unmodified lines
14]14]
15.SH DESCRIPTION15.SH DESCRIPTION
16.I Styxmon16.I Styxmon
17allows the monitoring of styx messages sent and received17allows the monitoring of 9P messages sent and received
18by18by
19.IR cmd ,19.IR cmd ,
20which should serve Styx through its standard input.20which should serve 9P through its standard input.
21.I Styxmon21.I Styxmon
22in its turn serves Styx through its standard input,22in its turn serves 9P through its standard input,
23and writes information on the Styx messages that23and writes information on the 9P messages that
24it sees to the standard error.24it sees to the standard error.
25The25The
26.B -r26.B -r
man/8/svc+9−1
@@ -5,6 +5,9 @@ svc: auth, net, registry, rstyx, styx \- start Inferno network services · 4 unmodified lines
5.B svc/net5.B svc/net
6.br6.br
7.B svc/auth7.B svc/auth
8[
9.B -n
10]
8.br11.br
9.B svc/registry12.B svc/registry
10.br13.br
@@ -38,6 +41,11 @@ file service or remote execution. · 27 unmodified lines
38.I Auth41.I Auth
39must be run (only) on a host that is to act as an authentication server,42must be run (only) on a host that is to act as an authentication server,
40providing signing and other authentication services to itself and the network.43providing signing and other authentication services to itself and the network.
44The
45.B -n
46flag tells it not to start
47.IR keyfs (4),
48perhaps because it has been started already.
41The files49The files
42.BR /keydb/signerkey ,50.BR /keydb/signerkey ,
43created by51created by
@@ -85,7 +93,7 @@ putting it at the conventional location for the local registry, · 41 unmodified lines
85Initial (static) service descriptions are taken from93Initial (static) service descriptions are taken from
86.B /lib/ndb/registry94.B /lib/ndb/registry
87if it exists.95if it exists.
88It then starts a listener to give other hosts access to the registry as a Styx96It then starts a listener to give other hosts access to the registry as a 9P
89service at97service at
90.BR tcp!*!registry ,98.BR tcp!*!registry ,
91normally port 6675.99normally port 6675.
module/secstore.m+9−9
@@ -9,15 +9,15 @@ Secstore: module · 8 unmodified lines
9 privacy: fn(): int;9 privacy: fn(): int;
10 cansecstore: fn(addr: string, user: string): int;10 cansecstore: fn(addr: string, user: string): int;
11 mkseckey: fn(pass: string): array of byte;11 mkseckey: fn(pass: string): array of byte;
12 connect: fn(addr: string, user: string, pwhash: array of byte): (ref Sys->Connection, string, string);12 connect: fn(addr: string, user: string, pwhash: array of byte): (ref Dial->Connection, string, string);
13 dial: fn(addr: string): ref Sys->Connection;13 dial: fn(addr: string): ref Dial->Connection;
14 auth: fn(conn: ref Sys->Connection, user: string, pwhash: array of byte): (string, string);14 auth: fn(conn: ref Dial->Connection, user: string, pwhash: array of byte): (string, string);
15 sendpin: fn(conn: ref Sys->Connection, pin: string): int;15 sendpin: fn(conn: ref Dial->Connection, pin: string): int;
16 files: fn(conn: ref Sys->Connection): list of (string, int, string, string, array of byte);16 files: fn(conn: ref Dial->Connection): list of (string, int, string, string, array of byte);
17 getfile: fn(conn: ref Sys->Connection, filename: string, maxsize: int): array of byte;17 getfile: fn(conn: ref Dial->Connection, filename: string, maxsize: int): array of byte;
18 remove: fn(conn: ref Sys->Connection, filename: string): int;18 remove: fn(conn: ref Dial->Connection, filename: string): int;
19# putfile: fn(conn: ref Sys->Connection, filename: string, data: array of byte,): int;19# putfile: fn(conn: ref Dial->Connection, filename: string, data: array of byte,): int;
20 bye: fn(conn: ref Sys->Connection);20 bye: fn(conn: ref Dial->Connection);
21 21
22 mkfilekey: fn(pass: string): array of byte;22 mkfilekey: fn(pass: string): array of byte;
23 decrypt: fn(a: array of byte, key: array of byte): array of byte;23 decrypt: fn(a: array of byte, key: array of byte): array of byte;