Gentoo Archives: gentoo-commits

From: "Sven Vermeulen (swift)" <swift@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/doc/fa/handbook: hb-net-functions.xml
Date: Sat, 23 Feb 2013 17:56:51
Message-Id: 20130223175648.BC73F2171D@flycatcher.gentoo.org
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} &amp;&amp; -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>