From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: From: Sergey Zhilkin Date: Fri, 10 Oct 2014 13:24:21 +0400 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=047d7b3a90486851c305050e1e09 Subject: Re: [9fans] Failed 'reject' function? Topicbox-Message-UUID: 194af65a-ead9-11e9-9d60-3106f5b1d025 --047d7b3a90486851c305050e1e09 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Pavel ! It seems, you do it incorrectly :) dial(2) has an exact example if using announce/listen/accept functions. 2014-10-10 11:48 GMT+04:00 Pavel Klinkovsk=C3=BD : > Hi all, > > I tried very simple program on native Plan9: > > #include > #include > > void > main(int, char**) > { > int afd, lfd; > char adir[NETPATHLEN], ldir[NETPATHLEN]; > > afd =3D announce("tcp!*!20540", adir); > if (afd < 0) > sysfatal("listen: %r"); > > lfd =3D listen(adir, ldir); > if (lfd < 0) > sysfatal("listen: %r"); > > if (reject(lfd, ldir, "unauthorized") < 0) > sysfatal("reject: %r"); > > close(lfd); > close(afd); > exits(nil); > } > > I dicovered that the funtion 'reject' fails: > term% 8.out > reject: unknown control request > > In 'ratrace' listing I can really see the 'reject' function failure: > 348 8.out Open 33a7 0xdfffe9bc/"/net/cs" 0x2 =3D 3 "" 1412926762174586973 > 1412926762174841785 > 348 8.out Pwrite 5577 3 0x7880/"tcp!*!20540" 11 -1 =3D 11 "" > 1412926762186976342 1412926762187086984 > 348 8.out Seek 3391 0x7ab8 3 0x0 0 =3D 0 "" 1412926762198637769 > 1412926762198646989 > 348 8.out Pread 557f 3 0xdfffe9bc 255 -1 0xdfffe9bc/"/net/tcp/clone.20540= " > 255 -1 =3D 20 "" 1412926762200546351 1412926762200619275 > 348 8.out Close 1225 3 =3D 0 "" 1412926762221784602 1412926762221865069 > 348 8.out Open 33a7 0xdfffebe0/"/net/tcp/clone" 0x2 =3D 3 "" > 1412926762223717492 1412926762223849089 > 348 8.out Pread 557f 3 0xdfffede9 246 -1 0xdfffede9/"4" 246 -1 =3D 1 "" > 1412926762235853725 1412926762235866298 > 348 8.out Pwrite 5577 3 0xdfffece0/"announce.20540" 14 -1 =3D 14 "" > 1412926762247454802 1412926762247479948 > 348 8.out Open 33a7 0xdfffede0/"/net/tcp/4/listen" 0x2 =3D 4 "" > 1412926762259028218 1412926771821372908 > 348 8.out Pread 557f 4 0xdfffede9 246 -1 0xdfffede9/"6" 246 -1 =3D 1 "" > 1412926771844967723 1412926771844984487 > 348 8.out Pwrite 5577 4 0xdfffedec/"reject.6.unauthorized" 21 -1 =3D -1 > unknown control request 1412926771854330421 1412926771854347185 > 348 8.out Errstr 5587 0xdfffe914 128"" 128 =3D 0 1412926771871626615 > 1412926771871632483 > 348 8.out Errstr 5587 0xdfffe914 128"" 128 =3D 0 unknown control request > 1412926771887234674 1412926771887239703 > 348 8.out Pwrite 5577 2 0xdfffe980/"reject:.unknown.control.request." 32 > -1reject: unknown control request > =3D 32 "" 1412926771918100040 1412926771932457957 > 348 8.out Open 33a7 0x7538/"#c/pid" 0x0 =3D 5 "" 1412926771947976329 > 1412926771948085295 > 348 8.out Pread 557f 5 0xdfffeaa0 20 -1 0xdfffeaa0/"........348." 20 -1 = =3D > 12 "" 1412926771963591547 1412926771963607473 > 348 8.out Close 1225 5 =3D 0 "" 1412926771979115786 1412926771979128359 > 348 8.out Exits 122d 0xdfffeadc/"reject: unknown control request" > > Do you have any explanation? > Did I make some bug in the program? > > Thanks in advance. > > Pavel > > --=20 =D0=A1 =D0=BD=D0=B0=D0=B8=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BC=D0=B8 =D0=BF= =D0=BE=D0=B6=D0=B5=D0=BB=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8 =D0=96=D0=B8=D0=BB=D0=BA=D0=B8=D0=BD =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 With best regards Zhilkin Sergey --047d7b3a90486851c305050e1e09 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Pavel !=C2=A0

It seems, you do it in= correctly :) dial(2) has an exact example if using announce/listen/accept f= unctions.=C2=A0

2014-10-10 11:48 GMT+04:00 Pavel Klinkovsk=C3=BD <pavel= .klinkovsky@gmail.com>:
Hi all,

I tried very simple program on nat= ive Plan9:

#include <u.h>
#in= clude <libc.h>

void
main(int, char= **)
{
int = afd, lfd;
char adir[= NETPATHLEN], ldir[NETPATHLEN];

afd =3D announce("tcp!*!20540", adir);<= /div>
if (afd < 0)
sysfatal("listen:= %r");

= lfd =3D listen(adir, ldir);
if (lfd < 0)
sysfatal("listen: %r");

if (reject(lfd, ldir, "unauth= orized") < 0)
sysfatal("reject: %r");

close(lfd);
close(afd);
exits(nil);
}

I = dicovered that the funtion 'reject' fails:
term% 8.out
reject: unknown control request

In 'ra= trace' listing I can really see the 'reject' function failure:<= /div>
348 8.out Open 33a7 0xdfffe9bc/"/net/cs" 0x2 =3D 3= "" 1412926762174586973 1412926762174841785
348 8.out P= write 5577 3 =C2=A00x7880/"tcp!*!20540" 11 -1 =3D 11 ""= 1412926762186976342 1412926762187086984
348 8.out Seek 3391 0x7a= b8 3 0x0 0 =3D 0 "" 1412926762198637769 1412926762198646989
=
348 8.out Pread 557f 3 0xdfffe9bc 255 -1 0xdfffe9bc/"/net/tcp/clo= ne.20540" 255 -1 =3D 20 "" 1412926762200546351 1412926762200= 619275
348 8.out Close 1225 3 =3D 0 "" 1412926762221784= 602 1412926762221865069
348 8.out Open 33a7 0xdfffebe0/"/net= /tcp/clone" 0x2 =3D 3 "" 1412926762223717492 141292676222384= 9089
348 8.out Pread 557f 3 0xdfffede9 246 -1 0xdfffede9/"4&= quot; 246 -1 =3D 1 "" 1412926762235853725 1412926762235866298
348 8.out Pwrite 5577 3 =C2=A00xdfffece0/"announce.20540" = 14 -1 =3D 14 "" 1412926762247454802 1412926762247479948
348 8.out Open 33a7 0xdfffede0/"/net/tcp/4/listen" 0x2 =3D 4 &qu= ot;" 1412926762259028218 1412926771821372908
348 8.out Pread= 557f 4 0xdfffede9 246 -1 0xdfffede9/"6" 246 -1 =3D 1 ""= ; 1412926771844967723 1412926771844984487
348 8.out Pwrite 5577 4= =C2=A00xdfffedec/"reject.6.unauthorized" 21 -1 =3D -1 unknown co= ntrol request 1412926771854330421 1412926771854347185
348 8.out E= rrstr 5587 0xdfffe914 128"" 128 =3D 0 =C2=A01412926771871626615 1= 412926771871632483
348 8.out Errstr 5587 0xdfffe914 128"&quo= t; 128 =3D 0 unknown control request 1412926771887234674 141292677188723970= 3
348 8.out Pwrite 5577 2 =C2=A00xdfffe980/"reject:.unknown.= control.request." 32 -1reject: unknown control request
=C2= =A0=3D 32 "" 1412926771918100040 1412926771932457957
34= 8 8.out Open 33a7 0x7538/"#c/pid" 0x0 =3D 5 "" 14129267= 71947976329 1412926771948085295
348 8.out Pread 557f 5 0xdfffeaa0= 20 -1 0xdfffeaa0/"........348." 20 -1 =3D 12 "" 141292= 6771963591547 1412926771963607473
348 8.out Close 1225 5 =3D 0 &q= uot;" 1412926771979115786 1412926771979128359
348 8.out Exit= s 122d 0xdfffeadc/"reject: unknown control request"=C2=A0

Do you have any explanation?
Did I make s= ome bug in the program?

Thanks in advance.

Pavel




--
=D0=A1 =D0= =BD=D0=B0=D0=B8=D0=BB=D1=83=D1=87=D1=88=D0=B8=D0=BC=D0=B8 =D0=BF=D0=BE=D0= =B6=D0=B5=D0=BB=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC=D0=B8
=D0=96=D0=B8=D0=BB= =D0=BA=D0=B8=D0=BD =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9
With best regard= s
Zhilkin Sergey
--047d7b3a90486851c305050e1e09--