× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Connection through a telnet-gateway
  • From: Scott Klement <klemscot@xxxxxxxxxxxx>
  • Date: Wed, 19 Jul 2000 17:08:19 -0500 (CDT)


Hi Andreas,

A few things jump out at me in your code... I thought I'd mention them,
in case they help you troubleshoot the problem.

1) in telnet_stream_wait_string you're reading data from the connection
       by using the telnet_stream_get_next() function.  This function 
       will return immediately unless you've set "This->msec_wait".
       By default, the timeout value is 0, so it returns immediately.

     (This causes your code to continue, thinking it got the proxyPrompt,
     when it actually didn't)

2) When you do your telnet_stream_write() to write the proxyCmd, you
     probably also want to send a CR/LF (or maybe just CR, or just LF,
     depending on what your tn-gw software is looking for) 

3) If your tn-gw software returns something like "connecting to
     w.x.y.z...   connected!"  you'll want to search for that data and
     strip it out before finishing the telnet_stream_connect() function.

Thats all I can see from just looking at your code :)   What tn-gw
software are you using?  I'm sure if I could set one up as a test, I 
could find more problems :)

Hope that helps!

 


On Wed, 19 Jul 2000, Hilbig, Andreas wrote:

> Hi,
> 
> first I want to thank you all for your comments. I think I'll try to
> implement
> it the way Scott dreamt because indeed I think it's not such a not-normal
> situation to have security-mechanisms like tn-gw between client and AS400.
> 
> My first attempt wasn't successfull, because I didn't read the whole source
> -
> and so I don't now how to send a string to the tn-gw and when to query the
> stream for the tn-gw-prompt. 
> However... I made a guess and modified telnet_stream_connect by adding the
> following lines befor the 'return 0':
> 
>    if (proxyPrompt) {
>          telnet_stream_wait_string(This, proxyPrompt);
>    }
> 
>    if (proxyCmd) {
>          telnet_stream_write(This, proxyCmd, strlen(proxyCmd));
>    }
> 
> Therefore I wrote the following telnet_stream_wait_string - function:
> 
> /****i* lib5250/telnet_stream_wait_string
>  * NAME
>  *    telnet_stream_wait_string
>  * SYNOPSIS
>  *    ret = telnet_stream_wait_string (This);
>  * INPUTS
>  *    Tn5250Stream *       This       - 
>  *    char *               searchstr  -
>  * DESCRIPTION
>  *    Reads data from the stream until specified string appears;
>  *    Returns 0 if successfull or -1 if no data is
>  *    currently available on the socket or -2 if we have been disconnected.
>  *****/
> static int telnet_stream_wait_string(Tn5250Stream * This, char * searchstr)
> {
>    int rc = 0;
>    int bnfound = 1;
>    int len = strlen(searchstr);
>    int nbuf=0;
> 
>    char *buf = (char *) malloc(len+1);
> 
>    buf[0]=0;
>    buf[len] = 0;
>    while (rc >=0 && bnfound) {
>       rc = telnet_stream_get_next(This);
>         printf((char) rc);
>       if (rc>=0) {
>          buf[nbuf]= (char) rc;
>          
>          if (nbuf < len-1)
>             nbuf++;
>          else {
>             bnfound=strcmp(buf, searchstr);
>             strcpy(buf, buf+1);
>          }
>       }
>    }
> 
>   if (!bnfound)
>      rc = 0;
>   free(buf);
>   return rc;
> }
> 
> 
> The result was endless waiting... I guess it wasn't enough negotiation
> before querying the
> stream.
> 
> Who can give me a hint ?
> 
> 

+---
| This is the LINUX5250 Mailing List!
| To submit a new message, send your mail to LINUX5250@midrange.com.
| To subscribe to this list send email to LINUX5250-SUB@midrange.com.
| To unsubscribe from this list send email to LINUX5250-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.