telnetd

Joel Sherrill <joel@OARcorp.com> joel.sherrill at OARcorp.com
Fri Sep 17 16:28:30 UTC 2004


Steve Holle wrote:
> At 02:27 AM 9/17/2004, Fernando RUIZ CASAS wrote:
> 
>> Hi,
>>   But you must put attention.
>>
>>   When the session is closed a delete_task_var in automatic free when 
>> close can crash the memory.
>>   This is a bad behavior for this option.
> 
> 
> I'm not sure I quite understand your message.  Am I using the 
> rtems_initialize_telnetd(); incorrectly?

When a task is deleted, the RTEMS task variable code calls a
user provided destructor on the variable.  The code in telnetd
was not updated after it was changed (if I remember correctly)
from a * to a ** passed in.  I think that's what he is referring
to.

Fernando.. have you moved?  I didn't remember you being in
France.


> I did get it to build, by the way, and I'm not sure how.
> 
> 
>> See you.
>>
>> Fernando RUIZ.
>>
>>
>> On Thu, 16 Sep 2004 12:06:03 -0500
>>  "Joel Sherrill <joel at OARcorp.com>" <joel.sherrill at OARcorp.com> wrote:
>>
>>> Steve Holle wrote:
>>>
>>>> Can anyone tell me how to enable telnetd ?  I've used the same 
>>>> technique I used on the other network functions as shown in the code 
>>>> below :
>>>>         #ifdef ENABLE_NETWORKING
>>>>                 std::cout << "  Starting  : Network 
>>>> Initialization..." << std::endl ;
>>>>                 std::cout.flush() ;
>>>>           rtems_bsdnet_initialize_network ();
>>>>                 std::cout << "  Completed : Network Initialization." 
>>>> << std::endl << std::endl ;
>>>>                 std::cout.flush() ;
>>>>         #endif
>>>>         #ifdef ENABLE_FTPD
>>>>                 std::cout << "  Starting  : FTP Initialization..." 
>>>> << std::endl ;
>>>>                 std::cout.flush() ;
>>>>           rtems_initialize_ftpd();
>>>>                 std::cout << "  Completed : FTP Initialization." << 
>>>> std::endl ;
>>>>                 std::cout.flush() ;
>>>>                 unsigned long temp = (unsigned long)&TARFILE_SIZE ;
>>>>           status = Untar_FromMemory((unsigned char 
>>>> *)(&TARFILE_START), temp);
>>>>         #endif
>>>>
>>>>         #ifdef ENABLE_WEB_SERVER
>>>>                 std::cout << "  Starting  : Webserver 
>>>> Initialization..." << std::endl ;
>>>>                 std::cout.flush() ;
>>>>           rtems_initialize_webserver();
>>>>                 std::cout << "  Completed : Webserver 
>>>> Initialization." << std::endl ;
>>>>                 std::cout.flush() ;
>>>>         #endif
>>>>         #ifdef ENABLE_TELNETD_SERVER
>>>>                 int rtems_initialize_telnetd ( void ) ;
>>>>                 std::cout << "  Starting  : Telnet 
>>>> Initialization..." << std::endl ;
>>>>                 std::cout.flush() ;
>>>>           rtems_initialize_telnetd();
>>>>                 std::cout << "  Completed : Telnet Initialization." 
>>>> << std::endl ;
>>>>                 std::cout.flush() ;
>>>>         #endif
>>>>
>>>> I can find the source for rtems_initialize_telnetd  in the source 
>>>> tree but when I try to build I get the following error :
>>>>
>>>> C++ compiling /tcb2/source/BuildDateTime.cc...
>>>> Creating tcb2-debug.elf (linking)...
>>>> ConfigureNetwork.o: In function `ConfigureNetwork()':
>>>> ConfigureNetwork.o(.text+0x654): undefined reference to 
>>>> `rtems_initialize_telnet
>>>> d()'
>>>> collect2: ld returned 1 exit status
>>>> make[1]: *** [tcb2-debug.elf] Error 1
>>>> make: *** [build] Error 2
>>>> It appears that telnetd is not included in the rtems build but I 
>>>> can't figure out how to get it included.
>>>> Any ideas?
>>>
>>> None here.  I just checked some build logs on the 4.6 tree and
>>> telnetd.c is definitely being compiled.  The call is there.
>>> Can you do something like this?
>>> XXX-rtems-nm --extern-only .../librtemsbsp.a | grep telnet
>>> /opt/rtems-4.6/bin/mips-rtems-nm --extern-only 
>>> /opt/rtems-4.6/mips-rtems/jmr3904/lib/librtemsbsp.a | grep telnet
>>> telnetd.o:
>>> 000002a0 T main_telnetd
>>> 00000374 T register_telnetd
>>> 000001b8 T rtems_initialize_telnetd
>>> 00000000 T rtems_task_telnetd
>>> 00000004 D telnetd_stack_size
>>> 00000000 D telnetd_task_id
>>> 00000008 D telnetd_task_priority
>>> So that symbol is definitely in the mips/jmr3904 I had installed.
>>>
>>>> Steve Holle
>>>> Link Communications, Inc.
>>>> 1035 Cerise Rd.
>>>> Billings, MT  59101
>>>> sholle at link-comm.com
>>>
>>>
>>> -- 
>>> Joel Sherrill, Ph.D.             Director of Research & Development
>>> joel at OARcorp.com                 On-Line Applications Research
>>> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>>>    Support Available             (256) 722-9985
>>
>>
>> 51, Le clos des G?ts
>> Rue de la gare
>> 69730 Genay
>> France
>> EMAIL: correo At fernando-ruiz Dot com
> 
> 
> Steve Holle
> Link Communications, Inc.
> 1035 Cerise Rd.
> Billings, MT  59101
> sholle at link-comm.com 


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
    Support Available             (256) 722-9985




More information about the users mailing list