Newsgroups: fj.unix,fj.os.plan9
Path: galaxy.trc.rwcp.or.jp!news.trc!nf2.iij.ad.jp!nr0.iij.ad.jp!news.iij.ad.jp!rim.or.jp!Q.T.Honey!aero.kyushu-u!hakata!sakura.kudpc!cancer.nca5.ad.jp!nfeed.gw.nagoya-u.ac.jp!vega2!arisawa
From: arisawa@vega2.aichi-u.ac.jp (Kenji Arisawa)
Subject: Re: Plan9 security (Re: reserved ports)
Sender: news@vega2.aichi-u.ac.jp (News Master)
Message-ID: <EssMJp.ILE@vega2.aichi-u.ac.jp>
Date: Mon, 11 May 1998 12:55:00 GMT
References: <6j6bvf$ldc@ns4.synap.ne.jp>
Nntp-Posting-Host: vega2
Organization: Aichi University Computer Center, Aichi University, Aichi, Japan.
X-Newsreader: mnews [version 1.18PL3+] 1994-08/01(Mon)
Lines: 77
Xref: galaxy.trc.rwcp.or.jp fj.unix:8041 fj.os.plan9:102
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.unix&nb=8041&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$BM-_7(B@$B0&CNBg3X$G$9(B

>$B%F%-%9%H%;%0%a%s%H$,=q$-9~$_6X;_$J$N$O6&M-$N$?$a$@$H;W$$$^$9$,!D!#(B
UNIX $B$G$O$b$H$b$H$3$N$h$&$J0U<1$O4uGv$@$H;W$$$^$9!#(B
UNIX like $B$J(B OS $B$G$"$k(B OS9 $B$O>.$5$J%a%b%j6u4V$GF0:n$9$kI,MW$,$"$C$?$N$G(B
$B6&M-$rE0DlE*$KDI5a$7$F$$$^$7$?!#(B
$B:G6a$O%a%b%j$,$?$C$W$j;H$($k$N$GKM$b0U<1$,4uGv$K$J$C$F$-$?$N$G$9$,!"(B
$B0J2<$NNc$G$O$I$N$h$&$K6&M-4X78$,<B8=$5$l$F$$$k$N$G$7$g$&!#(B
Linux $B$d(B FreeBSD $B$G$O$3$N$X$s$N>pJs$O8+$i$l$k$h$&$K$J$C$F$$$k$O$:$G$9!#(B
($BKM$O(BNEXT$B$J$N$G>\$7$$;v$O$o$+$i$J$$(B)
1. fork $B$K$h$C$F@8@.$5$l$?%/%m!<%s(B
2. $BC1$J$k%3%^%s%I$K$h$C$F@8@.$5$l$?F10l$N%W%m%0%i%`(B(sticky bit $BL5$7(B)
3. $BC1$J$k%3%^%s%I$K$h$C$F@8@.$5$l$?F10l$N%W%m%0%i%`(B(sticky bit $B$"$j(B)
$BKM$NM=A[$G$O!"(B1 $B$H(B 3 $B$OJ*M}E*$K%F%-%9%H$r6&M-$7$F$$$k$H;W$$$^$9$,!"(B
2 $B$G$O6&M-$7$F$$$J$$$H;W$$$^$9!#(B($B4V0c$C$F$$$k$h$&$G$7$?$i;XE&$7$F(B
$B2<$5$$(B)
$B$$$:$l$K$;$h%W%m%0%i%`$,0BA4$KF0:n$9$k4D6-$rDs6!$9$k$N$,(B OS $B$NL\E*$N(B1$B$D(B
$B$J$N$G!"(B
>$B%+!<%M%k$,F@$i$l$k$b$N$O2?$b$J$$$+$i(B
$B$H8@$&$o$1$K$b$$$+$J$$$N$G$7$g$&!#(B

>$B$?$@!"$^$"!"$3$N(B GCC $B$N$d$jJ}$O%9%?%C%/>e$N%3!<%I$,<B9T$G$-$k$3$H$rMx(B
>$BMQ$7$?$&$^$$$d$jJ}$@$H$O;W$$$^$9$,(B
$B$^$"!V$G$-$k!W$H8@$&$@$1$G$O$J$/$F4JC1$JJ}K!$@$+$i$G$7$g$&!#(B

>Pascal $B$G$OJ,3d%3%s%Q%$%k$OB8:_$7$J$$(B
MS-DOS $B$N(B turbo Pascal $B$d(B UNIX $B$G$N(B gnu Pascal $B$J$I$G$OJ,3d%3%s%Q%$%k(B
$B$,$G$-$^$9!#(B

$BKM$O(B Pascal $B$O%9%?%C%/>e$K%3!<%I$rCV$$$F$$$J$$$H;W$C$F$$$^$9!#(B
$B4X?t$d<jB3$-$NCf$G4X?t$d<jB3$-$r@k8@$9$k$N$O(B C $B$H$O0[$J$j(B Pascal $B$NDL>o$N(B
$B%9%?%$%k$G$9!#(B
$B=>$C$F$=$l$i$N%3!<%I$O?t(BKB $B$K5Z$S$^$9!#$3$l$i$r4X?t$d<jB3$-$N8F$S=P$7$N(B
$B$?$S$K%9%?%C%/$K%3%T!<$9$k$N$O<B9T8zN($rCx$7$/Mn$H$7$^$9!#(B
$B4X?t$d<jB3$-$N%"%I%l%9$rI=<($G$-$l$P?dB,$G$O$J$$8@$$J}$,$G$-$k$N$G$9$,(B
Pascal $B$G$O$=$N$h$&$J$3$H$OHs>o$K$d$j$K$/$/!"KM$b:G6a$G$O(B Pascal $B$N;v$r(B
$BK:$l$D$D$"$j$^$9!#(B

>$BNc$($P(B dofoo() $B$,(B foo() $B$HJL%U%!%$(B
>$B%k$K$"$k$h$&$J>l9g!"EO$5$l$?4X?t%]%$%s%?$N<BBN(B(bar())$B$,(B dofoo() $B$r8F$S(B
>$B=P$7$?4X?t(B(foo())$B$KBP$7$FF~$l;R$N4X78$K$"$k$+$I$&$+$O%3%s%Q%$%i$K$O$o(B
>$B$+$j$^$;$s$+$i$*<j>e$2$G$7$g$&!#(B
$B0J2<$N!V%W%m%0%i%`!W$O<B:]$K%3%s%Q%$%k$G$-$k$o$1$G$O$"$j$^$;$s$,!"(B
$B%3%s%Q%$%i$,9T$&$Y$-$3$H$r=q$$$?$D$b$j$G$9!#(B

#include <stdio.h>

void dofoo (void (*fn)())
{
    fn();
}

void foo_bar (void) {
    /* do x++ using stack pointer */
}

int foo(void) 
{
    int x;
    x = 0;
    dofoo(foo_bar);
    return x;
}

main()
{       
        printf("%d\n", foo());
}


>$B$H$$$&$N$O!"(Bbar() $B$K<B9T$,0\$C$?$H$-(B PC ($B%W%m%0%i%`%+%&%s%?(B)$B$,(B foo() 
>$B$N%"%/%F%#%Y!<%7%g%s%l%3!<%I$NFbIt$K$"$kLu$G$9$+$i!"(Bfoo() $B$N%m!<%+%kJQ(B
>$B?t$O(B PC $BAjBP%"%I%l%9%b!<%I$G4JC1$K%"%/%;%9$G$-$k$N$G$9!#(B
$BA4$/$=$NDL$j$G$9!#(B

$BM-_77r<#(B
E-mail: arisawa@aichi-u.ac.jp
