2011年4月21日 星期四

Android 編譯時遇到 LOCAL_MODULE_TAGS 的錯誤

編譯時載入模組有時會出現錯誤.....

如果在編譯時出現下列訊息:

build/core/base_rules.mk:74: *** Module name: 01-test
build/core/base_rules.mk:75: *** Makefile location: external/dhcpcd

build/core/base_rules.mk:76: *
build/core/base_rules.mk:77: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:78: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:79: *
build/core/base_rules.mk:80: * optional, debug, eng, tests, samples
build/core/base_rules.mk:81: *
build/core/base_rules.mk:82: * If the module is expected to be in all builds
build/core/base_rules.mk:83: * of a product, then it should use the
build/core/base_rules.mk:84: * "optional" tag:
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:87: * Android.mk for the affected module, and add
build/core/base_rules.mk:88: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:89: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:90: * makefile(s) where it's necessary, if
build/core/base_rules.mk:91: * appropriate.
build/core/base_rules.mk:92: *
build/core/base_rules.mk:93: * If the component should be in EVERY build of ALL
build/core/base_rules.mk:94: * products, then add its LOCAL_MODULE value to the
build/core/base_rules.mk:95: * PRODUCT_PACKAGES section of
build/core/base_rules.mk:96: * build/target/product/core.mk
build/core/base_rules.mk:97: *
build/core/base_rules.mk:98: *** user tag detected on new module - user tags are only supported on legacy modules. Stop.

只需要看第二行 『Makefile location: external/dhcpcd』 的 external/dhcpcd 路徑下,
修改 Android.mk ,
找到第一行的 『Module name: 01-test』的 LOCAL_MODULE := 01-test,
在下面加入 LOCAL_MODULE_TAGS := optional 即可

或是
有找到 LOCAL_MODULE_TAGS := user 的話
改成 LOCAL_MODULE_TAGS := optional

2011年3月23日 星期三

自訂記錄檔輪替 logrotate

建立編輯 /etc/logrotate.d/ 下的檔案,例如:

vim /etc/logrotate.d/asterisk

※執行 logrotate 會自動匯入/etc/logrotate.d/ 下的檔案執行

內容格式為:
/var/log/asterisk/messages {
weekly
size=10M
rotate 5
nocompress
}

※/var/log/asterisk/messages 為要進行處理的記錄檔

※weekly 為每週更換一次紀錄檔,另有 daily 每日、monthly 每月

※size=10M 為紀錄檔的上限,超過即會更換記錄檔,另有單位 k

※rotate 5 為保留紀錄檔的數量,檔名會以 messages.1~messages.5 方式命名,數字越大的越舊
nocompress 為紀錄檔不壓縮,壓縮為 compress  
儲存後,可執行 logrotate -v -f /etc/logrotate.conf 來立即處理記錄檔的輪替


2011年3月18日 星期五

Asterisk的canreinvite

想要讓兩支分機通話封包直接互相傳送,而不經過Server,藉以藉低伺服器的負擔,可以修改 sip.conf裡分機設定的canreinvite。

reinvite的限制如下:
  • 互通分機需都設成 canreinvite=yes
  • 分機本身必須支援通話所用的 codecs,不能透過 Asterisk 去轉譯
  • extensions.conf裡 Dial() 指令不能包含有 ''t''、''T"、"h"、"H"、"w"、"W"、"L"
還有一個特殊情況是當環境裡需要監聽DTMF時也不能 reinvite,如果要讓部分分機放棄監聽而可以 reinvite 的話,可以試試看在 sip.conf 裡指定 dtmfmode=info

2011年2月23日 星期三

封鎖暴力入侵(更新版 V1)

新版本更新POP3登入錯誤紀錄的的篩選規則
及更新時間變數的BUG

使用方法如前版本 封鎖POP3暴力入侵 ,只需更新程式檔即可。

新增:
◎blockpop3.pl:新增POP3紀錄判斷 ( 下載 )

更新:
◎blockpop3:主程式,進行頻率分析、封鎖 ( 下載 )
◎blocktime.pl:LOG時間判斷程式 ( 下載 )


未更新:
◎blockmsg.pl:訊息通知程式 ( 下載 )  
◎blocksasl.pl:SASL判斷 ( 下載 )

##EasyReadMore##