精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>已关闭版区>>● BBS系统>>你帮我助>>hzforbbs problem, bywind?

主题:hzforbbs problem, bywind?
发信人: [email protected].()
整理人: vol(1999-11-25 19:42:57), 站内信件

我装了你给我的hztty main.c, 把 i_stream 和 o_stream 对换一下.  和 修改了
bbsrf,

问题:

用bbg login 我的host 显示出h , 这是怎麽回事?
发信人: [email protected] (乘风), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: Shenzhen PTB New Tech. Center (Sat Nov  8 22:17:50 1997)
转信站: Nease!news.nease.net!clinux.ml.org!BlueBBS
出  处: pearl.szptt.net.cn

【 在 [email protected] (快A) 的大作中提到: 】
: 我装了你给我的hztty main.c, 把 i_stream 和 o_stream 对换一下.  和 修改了
: bbsrf,
: 问题:
: 用bbg login 我的host 显示出h , 这是怎麽回事?
        对于gb login,应该执行的是bbsrf.c中
        execl(bbs_prog_path,"hzforbbs", hid, ttybuf, NULL);
        这句话,这里你可能还留着原来文件中的h,因为这里第二个参数就是
        IP地址。我想你看看这部分是不是有问题?

--
    白马带著她一步步的回到中原。白马已经老了,只能慢慢的走,但终是 
能回到中原的。江南有杨柳、桃花,有燕子、金鱼……汉人中有的是英俊勇 
武的少年,倜傥潇洒的少年……但这个美丽的姑娘就像古高昌国人那样固执 
那都是很好很好的,可是我偏不喜欢。」 

※ 来源:.深圳水天一色 szntdc.ml.org.[FROM: sakura]
发信人: [email protected] (快A), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: 美国沙滩驿站(sandland) (Sun Nov  9 05:39:03 1997)
转信站: Nease!news.nease.net!clinux.ml.org!blast.dyn.ml.org!sandland

※ 引述《[email protected] (乘风)》之铭言:
:         对于gb login,应该执行的是bbsrf.c中
:         execl(bbs_prog_path,"hzforbbs", hid, ttybuf, NULL);
:         这句话,这里你可能还留著原来文件中的h,因为这里第二个参数就是
:         IP地址。我想你看看这部分是不是有问题?

这部分没错啊, bbsrf.c:

#ifdef SYSV
      {
        struct utsname name;

        if (uname(&name) >= 0)
          strcpy(hid, name.nodename);
        else
          strcpy(hid, "localhost");
      }
#else
        gethostname(hid, 16);
#endif

      hid[16] = '\0';
/*      execl(bbs_prog_path, "bbs", hid, ttybuf, NULL); */
        execl(bbs_prog_path,"hzbbs", hid, ttybuf, NULL);
    }
    else
    {
/*      execl(bbs_prog_path, "bbs", "unknown", "notty", NULL); */
        execl(bbs_prog_path,"hzbbs", "unknow", "notty" ,NULL);
    }

    printf("execl failed\n");
    exit(-1);
  }

  setuid(uid);
发信人: [email protected] (快A), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: 美国沙滩驿站(sandland) (Sun Nov  9 05:42:53 1997)
转信站: Nease!news.nease.net!clinux.ml.org!blast.dyn.ml.org!sandland

※ 引述《[email protected] (乘风)》之铭言:
:         对于gb login,应该执行的是bbsrf.c中
:         execl(bbs_prog_path,"hzforbbs", hid, ttybuf, NULL);
:         这句话,这里你可能还留著原来文件中的h,因为这里第二个参数就是
:         IP地址。我想你看看这部分是不是有问题?

会不会 hztty2.0 main.c 部分出问题了? main.c 我只改了一下几点:

(1) i_stream , o_stream 对换, 因为我是big5 bbs
(2) hzforbbs 改成 hzbbs
会不会 shell[1] = "h" 这里出问题? shell[1] 作什麽的? 我的IP 显示就是这"h"

----------------

        o_stream = "big2gb";
        i_stream = "gb2big";
        utmp = 0;
        debug = 0;
        cmd = "bin/bbs";
        shell[0]="bbs";
        shell[1]="h";
        shell[2]=argv[1];
        shell[3]=argv[2];
        shell[4]=(char *)0;

        cmdargv = shell;
发信人: [email protected] (乘风), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: Shenzhen PTB New Tech. Center (Sun Nov  9 17:10:40 1997)
转信站: Nease!news.nease.net!clinux.ml.org!BlueBBS
出  处: pearl.szptt.net.cn

【 在 [email protected] (快A) 的大作中提到: 】
: ※ 引述《[email protected] (乘风)》之铭言:
: :         对于gb login,应该执行的是bbsrf.c中
: :         execl(bbs_prog_path,"hzforbbs", hid, ttybuf, NULL);
: :         这句话,这里你可能还留著原来文件中的h,因为这里第二个参数就是
: :         IP地址。我想你看看这部分是不是有问题?
: 这部分没错啊, bbsrf.c:
: #ifdef SYSV
:       {
:         struct utsname name;
:         if (uname(&name) >= 0)
:           strcpy(hid, name.nodename);
:         else
:           strcpy(hid, "localhost");
:       }
: #else
:         gethostname(hid, 16);
: #endif
:       hid[16] = '\0';
: /*      execl(bbs_prog_path, "bbs", hid, ttybuf, NULL); */
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

                这句话难道是你的MapleBBS里bbsrf.c原来的语句吗?
                假如这样,那bbs的login执行的进程是bbs ip tty
                而firebird的bbs的login执行是bbs h ip tty,和Maple是不
                一样的,你就要修改hzforbbs的main.c中main()里的参数了。

                修改的方法就是把hzforbbs中main(argc,argv)中

        cmd = "bin/bbs";
        shell[0]="bbs";
        shell[1]="h";
        ^^^^^^^^^^^^
        shell[2]=argv[1];
        shell[3]=argv[2];
        shell[4]=(char *)0;

                的shell[1]="h"这句话给delete掉了。

:         execl(bbs_prog_path,"hzbbs", hid, ttybuf, NULL);
:     }
:     else
:     {
: /*      execl(bbs_prog_path, "bbs", "unknown", "notty", NULL); */
:         execl(bbs_prog_path,"hzbbs", "unknow", "notty" ,NULL);
:     }
:     printf("execl failed\n");
:     exit(-1);
:   }
:   setuid(uid);


--
    白马带著她一步步的回到中原。白马已经老了,只能慢慢的走,但终是 
能回到中原的。江南有杨柳、桃花,有燕子、金鱼……汉人中有的是英俊勇 
武的少年,倜傥潇洒的少年……但这个美丽的姑娘就像古高昌国人那样固执 
那都是很好很好的,可是我偏不喜欢。」 

※ 来源:.深圳水天一色 szntdc.ml.org.[FROM: sakura]
发信人: [email protected] (乘风), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: Shenzhen PTB New Tech. Center (Sun Nov  9 17:12:45 1997)
转信站: Nease!news.nease.net!clinux.ml.org!BlueBBS
出  处: pearl.szptt.net.cn

【 在 [email protected] (快A) 的大作中提到: 】
: ※ 引述《[email protected] (乘风)》之铭言:
: :         对于gb login,应该执行的是bbsrf.c中
: :         execl(bbs_prog_path,"hzforbbs", hid, ttybuf, NULL);
: :         这句话,这里你可能还留著原来文件中的h,因为这里第二个参数就是
: :         IP地址。我想你看看这部分是不是有问题?
: 会不会 hztty2.0 main.c 部分出问题了? main.c 我只改了一下几点:
: (1) i_stream , o_stream 对换, 因为我是big5 bbs
: (2) hzforbbs 改成 hzbbs
: 会不会 shell[1] = "h" 这里出问题? shell[1] 作什麽的? 我的IP 显示就是这"h"
        看来问题就是出在这里了,因为我给你的程序是在firebird里用的,
        因为firebird的bbs login以后要执行"bbs" "h" hid ttybuf这条命令的,
        假如Maple执行的是bbs hid ttybuf,那你把shell[1]="h"干掉就应该好了。

: ----------------
:         o_stream = "big2gb";
:         i_stream = "gb2big";
:         utmp = 0;
:         debug = 0;
:         cmd = "bin/bbs";
:         shell[0]="bbs";
:         shell[1]="h";
:         shell[2]=argv[1];
:         shell[3]=argv[2];
:         shell[4]=(char *)0;
:         cmdargv = shell;


--
    白马带著她一步步的回到中原。白马已经老了,只能慢慢的走,但终是 
能回到中原的。江南有杨柳、桃花,有燕子、金鱼……汉人中有的是英俊勇 
武的少年,倜傥潇洒的少年……但这个美丽的姑娘就像古高昌国人那样固执 
那都是很好很好的,可是我偏不喜欢。」 

※ 来源:.深圳水天一色 szntdc.ml.org.[FROM: sakura]
发信人: [email protected] (Lee Yen-Ming), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: Dept. of Civil Eng., NCKU, Taiwan. (Sun Nov  9 20:11:13 1997)
转信站: Nease!news.nease.net!clinux.ml.org!news.civil.ncku!sun.civil.ncku!leeym
出  处: sun.civil.ncku.edu.tw

快A <[email protected]> 提到:
> 会不会 hztty2.0 main.c 部分出问题了? main.c 我只改了一下几点:
> (1) i_stream , o_stream 对换, 因为我是big5 bbs
> (2) hzforbbs 改成 hzbbs
> 会不会 shell[1] = "h" 这里出问题? shell[1] 作什!~的? 我的IP 显示就是这"h"

那个 h 是给 firebird 的 bbs 用的, maple/sob 的不需要, 请把後面的参数往前递补.

-- 
 Yen-Ming Lee
 88B, Civil Engineering, NCKU, Tainan, Taiwan. Phone:886-6-2757755-x51697
 mailto:[email protected]    http://www.civil.ncku.edu.tw/~leeym
发信人: [email protected] (快A), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: 美国沙滩驿站(sandland) (Sun Nov  9 20:19:17 1997)
转信站: Nease!news.nease.net!clinux.ml.org!blast.dyn.ml.org!sandland

※ 引述《[email protected] (乘风)》之铭言:

:         看来问题就是出在这里了,因为我给你的程序是在firebird里用的,
:         因为firebird的bbs login以后要执行"bbs" "h" hid ttybuf这条命令的,
:         假如Maple执行的是bbs hid ttybuf,那你把shell[1]="h"干掉就应该好了。

对, 是这问题, 现在问题解决了. 谢谢. 我把3001 port 关了, bbg 很好用
发信人: hzlyp (liuyp), 信区: InstallBBS
标  题: Re: hzforbbs problem, bywind?
发信站: 广州网易 BBS (Fri Dec 12 19:15:44 1997), 转信

【 在 [email protected] (快A) 的大作中提到: 】
: ※ 引述《[email protected] (乘风)》之铭言:
: :         看来问题就是出在这里了,因为我给你的程序是在firebird里用的,
: :         因为firebird的bbs login以后要执行"bbs" "h" hid ttybuf这条命令的,
: :         假如Maple执行的是bbs hid ttybuf,那你把shell[1]="h"干掉就应该好了。
: 对, 是这问题, 现在问题解决了. 谢谢. 我把3001 port 关了, bbg 很好用
能不能系统地讲讲是怎么解决的,我把前面几篇文章连起来看还是看不出完全
的解决办法.
另外,我把bb5的shell设成
/usr/local/bin/hztty -I big2gb -O gb2gb /home/bbs/bin/bbsrf
登录时提示无此文件或目录,hztty和bbsrf的路径是对的,单独作为
shell也可以,最后只好另外做了一个big5bbs:
#!/bin/sh
exec /usr/sbin/hztty -I big2gb -O gb2big /home/bbs/bin/bbsrf
把它作为shell就可以了,只是IP问题没解决.


--
※ 来源:.广州网易 BBS bbs.nease.net.[FROM: ppp37.huizhou.g]

[关闭][返回]