<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                WPAS難度較大的一個重要原因是其注釋較少,很多變量的含義沒有任何解釋。筆者也為此大傷腦筋。不得以,只能通過查看WPAS代碼的歷史版本來尋根溯源。經過實踐,筆者總結了利用git來查詢WPAS歷史版本信息的一些步驟,分別如下。 用git clone命令下載WPAS官方代碼。 ~~~ git clone git://w1.fi/srv/git/hostap.git ~~~ 以下命令的含義是查詢use_monitor在driver_nl80211.c中的變化情況。 ~~~ git blame src/drivers/driver_nl80211.c | grep use_monitor ~~~ 因為use_monitor定義于該文件中,所以用git blame去查看它。得到的結果如圖4-3所示。 :-: ![](http://img.blog.csdn.net/20140309205125421?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 圖4-3 git blame結果 圖4-3中的第一行顯示了use_monitor最早出現的那個patch的情況,其對應的commit id是a11241fa。接著,再通過命令git log a11241fa可查看當時的commit信息,結果如圖4-4所示。 :-: ![](http://img.blog.csdn.net/20140309205143484?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 圖4-4 git log結果 圖4-4展示了a11241fa對應的commit消息。由于提交者一般會在該消息中添加注釋性內容。所以可通過研究這些內容來了解代碼中某些變量的含義。 下面正式開始WPAS的代碼分析之旅。首先是WPAS的初始化流程分析。 [1]注意,wpa_supplicant項目中還包含一個名為hostapd程序的代碼,它實現了AP的功能。本書不擬討論hostpad的代碼。 [2] wpa_supplicant項目的官方地址為http://hostap.epitest.fi/ [3]根據審稿專家的反饋,wpa_supplicant僅支持Linux Wireless Extension V19以后的版本。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看