Hi,

Well... it was the order of the bundles within the auto.start.1...  The 
telnetd.jar or telnetconsole.jar bundle has to be the first entry (well, for 
me), ahead of shell and tui... When I put telnetd.jar / telnetconsole.jar last, 
well -- then I get a conflict...

For what it's worth, Craig



From: Craig Phillips
Sent: Thu 6/26/2008 1:10 PM
To: dev@felix.apache.org
Subject: RE: telnetd discussion


Hi,

I'm experiencing something weird in one newly created workspace/project, which 
is pretty much a replica of others...

If I install any of the various telnet bundles, from the one below to the 
original telnetd to the one-off I recreated from source, set up a sandbox to 
run (meaning, bin and bundle and conf and cache directories and all items 
thereof), and run felix, here's the odd behavior:

- The bundles all seem to load and resolve, from what I can tell from stdout, 
almost... (note I also use SCR)
- Until I hit a keystroke / enter key (such as 'ps'), the services are not 
promulgated
- At such time I hit a keystroke / enter key, then the services are propagated 
and telnetd gets its shell service and SCR gets busy and any play-hello-world 
bundle I have gets it's pax logger and away we go
- If I remove shell.tui from the mix ('er, auto.start.1), all the above is not 
necessary... the services load, and telnetd (or telnet.console) and my 
hello-world bundles are all up and running, services and the like

Now, I don't see this same behavior in other "sandboxes", just a newly created 
project I just set up.. all I have is a hello world in it...

Obviously, I'm not asking anyone to diagnose my workspace or anything... All 
I'm asking is whether someone has seen this before and if they remember the 
circumstances and what was the fix...

I'm posting / replying to this thread because I think it is apropos to the 
discussion -- there is obviously some sort of shell conflict with the shell.tui 
bundle, seemingly on the inputStream/outputStream/printStream, but it's beyond 
my comprehension ATT...

Trying to narrow down the difference between this stock hello world app I just 
created could take me a while...

For what it's worth, Craig



From: Dieter Wimberger
Sent: Wed 6/25/2008 6:10 PM
To: dev@felix.apache.org
Subject: Re: telnetd discussion


Richard, all:

Thought I put the "simple access alternative" together so you can decide upon facts not ideas.

http://www.karanet.at/~wimpi/felix/org.apache.felix.telnetconsole.jar

Size is close to 15kB, only dependency is the felix shell service bundle. Port is 6666 by default and may be configured using the system property "osgi.shell.telnet.port".
(No command history, but BS, DEL and Strg-U work).

Regards,
Dieter


On 25 Jun 2008, at 15:35, Richard S. Hall wrote:

Dieter Wimberger wrote:
Richard, all:

I'd suggest to first take a step back and ask yourselves a question.

As far as I understood from the discussion, you would be looking for an occasional, simple telnet based remote access to the felix shell service.

If this is correct, then I wonder whether it really requires a telnet/SSH2 compliant server with connection management to achieve this. Actually, taking equinox as an example, it's nothing more than a simple single connection without any telnet protocol negotiation happening at all.

So, this is the question I'd suggest to ask yourselves before we proceed to find a solution: Do you need something like the simple equinox "telnet" access, or do you need a "real" telnet/SSH server?

If the answer is "we need a simple access", then I would actually suggest to hack a simple listener implementation into the glue bundle, make it "the telnet" bundle and go with it (from my point of view, telnetd-osgi would be simply an overkill tool for that job).

Good question. Most of my use cases would be the simple variety, but I wouldn't want to be constrained to it either. I think the point, for me, is to create a useful tool that is flexible enough to be used in simple cases as well as more sophisticated ones.

-> richard


Regards,
Dieter


The following is intended as a summary of the recent discussion on telnetd (most of this analysis is from an email Felix Meschberger sent me).

Felix, could you please drop me a copy of this analysis? :)

The following bundles are necessary for remote shell access to Felix:

1. Felix' standard shell bundle (i.e., shell bundle).
2. Dieter's telnetd bundle (i.e., telnetd bundle).
3. Dieter shell-telnetd glue bundle (i.e., glue bundle).
Dieter also mentioned that the telnetd bundle depended on a commons bundle, but we could easily package this into the telnetd bundle so that it is self-contained (we can help make this happen with the maven bundle plugin).

From Felix' analysis, we could simplify creating remote shell access by having the glue bundle inject a dummy configuration into telnetd's ManagedServiceFactory so that the Config Admin dependency could be optional. This all sounds good. (We could even consider embedding the telnetd stuff directly into the glue bundle, but that is another discussion.)

Given this setup, we can ponder where should the telnetd and glue bundle projects reside? The obvious choices are at the Source Forge telnetd site or at Felix. I think that any combination can be reasonably argued. Here is my personal take...

I definitely think it makes sense to create a subproject for the glue bundle at Felix, I am less certain about the telnetd bundle itself. While I definitely want to support the telnetd bundle, I am not sure if it really falls into the scope of the Felix project.

I guess the question is, is telnetd a completely generic telnet implementation that could easily be used outside of OSGi or not? If so, then it seems like it should be separate from Felix. On the other hand, if the implementation is somehow tied to OSGi, then it might make sense to host it at Felix.

Another possibility is that telnetd is generic, but that it has some sort of wrapper that integrates it into an OSGi environment, then maybe it makes sense to host the wrapper at Felix, keeping the generic library at SF.

I would definitely like to see this functionality available. My mind is open as to how to achieve it, so what does everyone else think?

-> richard

Reply via email to