2008-09-08

Slitaz - Bogus PPPoE length field

daemon.err pppoe[5619]: Bogus PPPoE length field (58)
http://forum.slitaz.org/viewtopic.php?id=806

PLS check!!

Thanks!


SliTaz GNU/Linux cooking-20080716 (28,6 Mb) - slitaz-cooking.iso

root@slitaz:~# tazpkg list |grep rp-pppoe
rp-pppoe 3.8 network
root@slitaz:~# tail -n 30 /var/log/messages
Sep 8 11:48:40 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 11:50:45 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 11:52:50 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 11:54:55 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 11:57:01 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 11:59:05 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:01:10 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:03:15 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:05:20 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:07:25 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:09:30 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:11:35 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:13:40 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:15:45 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:17:50 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:19:55 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:22:00 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:24:05 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:26:10 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:28:15 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:30:20 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:32:25 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)
Sep 8 12:34:31 (none) daemon.err pppoe[5619]: Bogus PPPoE length field (58)




20080920 16:10:39 alanyih Member

#2 Re: Bogus PPPoE length field (58)

Reprint

http://phorum.vbird.org/viewtopic.php?t=4418&sid=3b021823e44cdeb92523b19ff1bae7d9

VBird 站長鳥哥
發表於: 2003-05-11 00:15 文章主題: [ rp-pppoe ] Bogus 的問題克服 引言回覆
大家好:

有些朋友反應說,他們的 /var/log/messages 老是出現這樣的訊息:
引言回覆:
May 10 18:02:22 testing pppoe[8527]: Bogus PPPoE length field (50)
怎麼辦才好呢?在 RP-PPPOE 的網站上面問過一些朋友,
他們說,這個訊息的問題不大,可以不用理會他!但是,在 /var/log/messages 裡面,
每一分鍾就出現一次,實在很討厭!怎麼辦,可以將他拿掉嗎?!當然可以!
你可以下載新的 Tarball 來重新編譯過!步驟是這樣的:

1. 到下面的網站去下載新的 Tarball (我這裡以 3.5 為例!)
http://www.roaringpenguin.com/pppoe/#download (rp-pppoe-3.10.tar.gz )

( wget http://www.roaringpenguin.com/files/download/rp-pppoe-3.8.tar.gz )


2. 在 /usr/local/src底下解開該檔案,則會造成 /usr/local/src/rp-pppoe-3.5 這個目錄

3. 到 /usr/local/src/rp-pppoe-3.5/src 底下去,修改這四個檔案:
discovery.c
pppoe.c
pppoe-server.c
relay.c

找到這四個檔案的內容如下 ( search )
代碼: (code)
/* Check length */
if (ntohs(packet.length) + HDR_SIZE > len) {
syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
(unsigned int) ntohs(packet.length));
return;
}
將他修改成為 ( replace )
代碼: (code)
/* Check length */
if (ntohs(packet.length) + HDR_SIZE > len) {
/* syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
(unsigned int) ntohs(packet.length)); */

return;
}
請注意,上面每個檔案都有多個同樣的字串,請依序一個一個都修改掉才行!
4. 還沒完喔!在到 pppoe.c 找到底下的字眼: ( search )
代碼: (code)
if (plen + HDR_SIZE > len) {
syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
(int) plen, (int) len);
return;
}
將他改成:( replace )
代碼: (code)
if (plen + HDR_SIZE > len) {
/* syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
(int) plen, (int) len); */

return;
}

5. 然後就可以開始這樣做囉:
cd /usr/local/src/rp-pppoe-3.5/src
./configure
make
make install

6. 如果一切都可以成功的進行,那麼就可以:
adsl-stop
adsl-start

這個簡單的步驟應該可以將您的問題訊息克服了吧! ^_^

Last edited by alanyih (20080920 16:45:51)






20080924 23:34:51

#3 alanyih Member

Re: Bogus PPPoE length field (58)

fixed-source.jpg

root@slitaz:~# tazwok cook rp-pppoe
Checking for build dependencies...

Starting to cook rp-pppoe...
================================================================================
Checking for source tarball...
Source tarball exit... [ OK ]
Untaring rp-pppoe-3.8.tar.gz... [ OK ]
..........

================================================================================
rp-pppoe compiled on : 20080924 21:48:15


Bulding rp-pppoe with the receipt...
================================================================================
Executing strip on all files... [ OK ]
Copying the receipt... [ OK ]
Creating the list of files... [ OK ]
Creating md5sum of files... [ OK ]
Compressing the fs...
Undating receipt sizes... [ OK ]
Creating full cpio archive...
Restoring original package tree... 286 blocks
================================================================================
Package rp-pppoe (3.8) generated.
Size : 64.0k /home/slitaz/packages/rp-pppoe-3.8.tazpkg

root@slitaz:~# ls -l /home/slitaz/packages/
-rw-r--r-- 1 root root 59392 Sep 24 21:48 rp-pppoe-3.8.tazpkg

root@slitaz:~# tazpkg install /home/slitaz/packages/rp-pppoe-3.8.tazpkg --forced

root@slitaz:~# date ; tail /var/log/messages
Wed Sep 24 22:14:38 UTC 2008
Sep 24 22:06:20 (none) daemon.notice pppd[10159]: pppd 2.4.4 started by root, uid 0
Sep 24 22:06:20 (none) daemon.info pppd[10159]: Using interface ppp0
Sep 24 22:06:20 (none) daemon.notice pppd[10159]: Connect: ppp0 <--> /dev/pts/1
Sep 24 22:06:20 (none) daemon.debug pppoe[10163]: PADS: Service-Name: ''
Sep 24 22:06:20 (none) daemon.info pppoe[10163]: PPP session is 21796 (0x5524)
Sep 24 22:06:21 (none) daemon.warn pppd[10159]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Sep 24 22:06:21 (none) daemon.warn pppd[10159]: Warning - secret file /etc/ppp/pap-secrets has world and/or group access
Sep 24 22:06:22 (none) daemon.notice pppd[10159]: PAP authentication succeeded
Sep 24 22:06:22 (none) daemon.notice pppd[10159]: local IP address 211.xx.xxx.24
Sep 24 22:06:22 (none) daemon.notice pppd[10159]: remote IP address 211.xx.xxx.1

Last edited by alanyih (20080924 23:39:41)


Extract from

http://lamp.linux.gov.cn/Linux/sysklogd.html

syslogd

level 指定了消息的優先級,可以是下面的關鍵字之一(降序排列,嚴重性越來越低):

emerg 系統不可用
alert 需要立即被修改的條件
crit 阻止某些工具或子系統功能實現的錯誤條件
err 阻止工具或某些子系統部分功能實現的錯誤條件
warning 預警信息
notice 具有重要性的普通條件
info 提供信息的消息
debug 不包含函數條件或問題的其他信息
none 沒有優先級,通常用於排錯
* 除了none之外的所有級別


syslogd 默認通過 /dev/log 這個 unix domain socket 來接收應用程序發送過來的消息,這個位置是由系統的基本C庫決定的。

這個程序的命令行參數如下:

syslogd [ -a socket ] [ -f config-file ] [ -h ] [ -l hostlist ] [ -m interval ]
[ -n ] [ -p socket ] [ -r ] [ -s domainlist ] [ -v ]

參數說明:

-a socket
指定額外需要監聽的 socket ,最多指定19個,可以通過修改 syslogd.c 文件中的 MAXFUNIX 宏修改這個默認值。如果你將某些進程在chroot環境下運行,那麼這個選項就很有用了。
-f config-file
指定配置文件的位置,默認是 /etc/syslog.conf 。
-h
默認情況下 syslogd 並不轉發它接收到的遠程主機消息。指定這個選項後,進程將會把它接收到的遠程主機消息轉發到另一個指定的遠程主機。
-l hostlist
指定一個分號(:)分隔的主機名列表,只記錄這些主機的 hostname 而不是全限定域名。
-m interval
syslogd 默認每隔20分鐘產生一個時間戳標記(-- MARK --)。這個選項用於修改這個默認值。設為零將關閉這個特性。
-n
避免自動作為後台進程運行。如果由 init 來直接啟動和控制的話這個選項就必須使用。
-p socket
你可以指定一個 unix domain socket 來代替默認的 /dev/log [這個位置是由libc決定的]
-r
從 internet domain socket 上接收遠程消息,也就是監聽從514端口上進來的UDP包。 默認不接受任何遠程消息。
-s domainlist
指定一個分號(:)分隔的域名列表,這些域名在記錄前都會被剝除。只能指定完整的域名。比如"-s north.de"並不會剝除"satu.infodrom.north.de"的尾巴,你必須這樣寫才行:
-s north.de:infodrom.north.de
-v
打印版本信息後退出。