1 |
swift 13/02/23 17:56:48 |
2 |
|
3 |
Added: hb-net-functions.xml |
4 |
Log: |
5 |
Fix bug #454368 - Add FA translation, thanks to Hadi Sarami |
6 |
|
7 |
Revision Changes Path |
8 |
1.1 xml/htdocs/doc/fa/handbook/hb-net-functions.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/fa/handbook/hb-net-functions.xml?rev=1.1&view=markup |
11 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/fa/handbook/hb-net-functions.xml?rev=1.1&content-type=text/plain |
12 |
|
13 |
Index: hb-net-functions.xml |
14 |
=================================================================== |
15 |
<?xml version="1.0" encoding="UTF-8"?> |
16 |
<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> |
17 |
|
18 |
<!-- The content of this document is licensed under the CC-BY-SA license --> |
19 |
<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
20 |
|
21 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/fa/handbook/hb-net-functions.xml,v 1.1 2013/02/23 17:56:48 swift Exp $ --> |
22 |
|
23 |
<sections> |
24 |
|
25 |
<abstract> |
26 |
اگر اهل ماجراجویی هستید، میتوانید تابعهای خودتان را به شبکهسازی بیافزایید. |
27 |
</abstract> |
28 |
|
29 |
<version>9</version> |
30 |
<date>2011-10-30</date> |
31 |
|
32 |
<section> |
33 |
<title>چنگکهای تابع استاندارد</title> |
34 |
<body> |
35 |
|
36 |
<p> |
37 |
چهار تابع میتوانند در <path>/etc/conf.d/net</path> تعریف گردند که آنها را هدایتگرهای احاطه کننده <c>start</c>/<c>stop</c> فراخوانی مینمایند. تابعها ابتدا با نام رابط کاربریشان فراخوانده میشوند بنابر این یک تابع میتواند چندین آداپتر را کنترل نماید. |
38 |
</p> |
39 |
|
40 |
<p> |
41 |
مقدار برگشتی برای تابعهای <c>preup()</c> و <c>predown()</c> باید ۰ (به معنی موفق) باشد تا نشاندهد پیکربندی یا خروج از پیکربندی میتواند ادامه بیابد. اگر <c>preup()</c> مقدار غیر صفری را بازگرداند، آنگاه رابط کاربر پیکربندی بینتیجه میماند. اگر <c>predown()</c> مقدار غیر صفری را بازگرداند، آنگاه رابط کاربری اجازه ادامه خارج سازی از پیکربندی را نخواهد داشت. |
42 |
</p> |
43 |
|
44 |
<p> |
45 |
اگر مقدارهای بازگشتی برای تابعهای <c>postup()</c> و <c>postdown()</c> شکست بخورند، از آنجا که چیزی برای انجام دادن وجود ندارد، نادیده انگاشته می شوند. |
46 |
</p> |
47 |
|
48 |
<p> |
49 |
گزینه <c>${IFACE}</c> رابط کاربری را بگونهایی تنظیم مینماید که بشکل بالا/پایین کار کند. گزینه <c>${IFVAR}</c> همان گزینه <c>${IFACE}</c> است که به نام متغییر مجاز برای bash تبدیل گردیده. |
50 |
</p> |
51 |
|
52 |
<pre caption="pre/post up/down function examples in /etc/conf.d/net"> |
53 |
preup() { |
54 |
<comment># Test for link on the interface prior to bringing it up. This |
55 |
# only works on some network adapters and requires the ethtool |
56 |
# package to be installed.</comment> |
57 |
if ethtool ${IFACE} | grep -q 'Link detected: no'; then |
58 |
ewarn "No link on ${IFACE}, aborting configuration" |
59 |
return 1 |
60 |
fi |
61 |
|
62 |
<comment># Remember to return 0 on success</comment> |
63 |
return 0 |
64 |
} |
65 |
|
66 |
predown() { |
67 |
<comment># The default in the script is to test for NFS root and disallow |
68 |
# downing interfaces in that case. Note that if you specify a |
69 |
# predown() function you will override that logic. Here it is, in |
70 |
# case you still want it...</comment> |
71 |
if is_net_fs /; then |
72 |
eerror "root filesystem is network mounted -- can't stop ${IFACE}" |
73 |
return 1 |
74 |
fi |
75 |
|
76 |
<comment># Remember to return 0 on success</comment> |
77 |
return 0 |
78 |
} |
79 |
|
80 |
postup() { |
81 |
<comment># This function could be used, for example, to register with a |
82 |
# dynamic DNS service. Another possibility would be to |
83 |
# send/receive mail once the interface is brought up.</comment> |
84 |
return 0 |
85 |
} |
86 |
|
87 |
postdown() { |
88 |
<comment># This function is mostly here for completeness... I haven't |
89 |
# thought of anything nifty to do with it yet ;-)</comment> |
90 |
return 0 |
91 |
} |
92 |
</pre> |
93 |
|
94 |
<note> |
95 |
برای اطلاعات بیشتر برای نوشتن تابعهای خودتان، خواهشمندیم <path>/usr/share/doc/openrc-*/net.example.bz2</path> را بخوانید. |
96 |
</note> |
97 |
|
98 |
</body> |
99 |
</section> |
100 |
<section> |
101 |
<title>چنگکهای تابع ابزارهای بیسیم</title> |
102 |
<body> |
103 |
|
104 |
<note> |
105 |
این با درخواستهای WPA کار نخواهد نمود - اما متغییرهای <c>${ESSID}</c> و <c>${ESSIDVAR}</c> در تابع <c>postup()</c> وجود دارند. |
106 |
</note> |
107 |
|
108 |
<p> |
109 |
دو تابع می توانند در <path>/etc/conf.d/net</path> تعریف گردند که تابعهای همپیوند محیطی را فراخوانی مینمایند. تابعها ابتدا با نام رابط کاربری فراخوانی میگردند بنابر این یک تابع میتواند چندین آداپتر را کنترل نماید. |
110 |
</p> |
111 |
|
112 |
<p> |
113 |
مقدار برگشتی برای تابع <c>preassociate()</c> باید ۰ (به معنی موفق) باشد تا نشاندهد پیکربندی یا خروج از پیکربندی میتواند ادامه بیابد. اگر <c>preassociate()</c> مقدار غیر صفری را بازگرداند، آنگاه رابط کاربر پیکربندی بینتیجه میماند. |
114 |
</p> |
115 |
|
116 |
<p> |
117 |
اگر مقدارهای بازگشتی برای تابع <c>postassociate()</c> شکست بخورد، از آنجا که چیزی برای انجام دادن وجود ندارد، نادیده انگاشته می شود. |
118 |
</p> |
119 |
|
120 |
<p> |
121 |
گزینه <c>${ESSID}</c> به ESSID دقیقی که AP شما به آن ارتباط پیدا کرده تنظیم میگردد. گزینه <c>${ESSIDVAR}</c> همان گزینه <c>${ESSID}</c> است که به نام متغییر مجاز برای bash تبدیل گردیده. |
122 |
</p> |
123 |
|
124 |
<pre caption="pre/post association functions in /etc/conf.d/net"> |
125 |
preassociate() { |
126 |
<comment># The below adds two configuration variables leap_user_ESSID |
127 |
# and leap_pass_ESSID. When they are both configured for the ESSID |
128 |
# being connected to then we run the CISCO LEAP script</comment> |
129 |
|
130 |
local user pass |
131 |
eval user=\"\$\{leap_user_${ESSIDVAR}\}\" |
132 |
eval pass=\"\$\{leap_pass_${ESSIDVAR}\}\" |
133 |
|
134 |
if [[ -n ${user} && -n ${pass} ]]; then |
135 |
if [[ ! -x /opt/cisco/bin/leapscript ]]; then |
136 |
eend "For LEAP support, please emerge net-misc/cisco-aironet-client-utils" |
137 |
return 1 |
138 |
fi |
139 |
einfo "Waiting for LEAP Authentication on \"${ESSID//\\\\//}\"" |
140 |
if /opt/cisco/bin/leapscript ${user} ${pass} | grep -q 'Login incorrect'; then |
141 |
ewarn "Login Failed for ${user}" |
142 |
return 1 |
143 |
fi |
144 |
fi |
145 |
|
146 |
return 0 |
147 |
} |
148 |
|
149 |
postassociate() { |
150 |
<comment># This function is mostly here for completeness... I haven't |
151 |
# thought of anything nifty to do with it yet ;-)</comment> |
152 |
|
153 |
return 0 |
154 |
} |
155 |
</pre> |
156 |
|
157 |
<note> |
158 |
گزینههای <c>${ESSID}</c> و <c>${ESSIDVAR}</c> در تابعهای <c>predown()</c> و <c>postdown()</c> وجود ندارند. |
159 |
</note> |
160 |
|
161 |
<note> |
162 |
برای دادههای بیشتر برای نوشتن تابعهای خود، خواهشمندیم <path>/usr/share/doc/openrc-*/net.example.bz2</path> را بخوانید. |
163 |
</note> |
164 |
|
165 |
</body> |
166 |
</section> |
167 |
|
168 |
</sections> |