On 4/13/2012 12:13 PM, Johnny Billquist wrote:
On 2012-04-13 16:44, Mark Benson wrote:
On 13 Apr 2012, at 15:11, Johnny Billquist <bqt at softjar.se
<mailto:bqt at softjar.se>> wrote:
On 2012-04-13 16:03, Mark Benson wrote:
I'm sure we could work something out. Do you have some experience with
web servers? I have one or two questions that you might help me with...
Also, you could do some work on MIM, where the stack and tools are
already in place...
I work on AMP (apache/MySQL/PHP) for a living. I wouldn't ever claim to
be an expert on web servers but I know how apache works and where to
look up what I don't know ;)
Ah. Hmmm. I'm not sure how much that knowledge helps here, but maybe it might be a good start anyway.
Right now, there is nothing like the CGI interface of Unix web-servers. It might be something we could look at. The basic concept of kicking off a subprocess, and using the output as the result is nothing difficult. More tricky is the question of how to pass information that in Apache and others are passed as environment variables. Need to think about that one.
Scripting... Nothing exist yet. You could use IND, I guess, but it's nothing like PHP. Also, no connection to any database as such from IND. Using a HLL, like BASIC, you can always play with RMS, which gives you lots of features. Or you could also go to Datatrieve...
I'd have to dust the cobwebs out of my brain, but I wrote a pretty trivial web server years ago so I'm somewhat familiar with how that works. It wasn't fancy and didn't do CGI or anything but I just might be of some use, who knows! :)
If you have any questions let me know and I'll see what I can do.
-brian
Oh, it's definitely automated. It's just interesting to see how quick you start getting scanned by the bots and script kiddies.
And it's a good source of information of the most common problems in the "big" server software distributions...
Johnny
On 2012-04-14 09:50, Sampsa Laine wrote:
That's probably just an automated scan..I get tons of those on any open port, it's kinda funny watching people trying to log in as root on a VMS box, over and over again.
Sampsa
On 14 Apr 2012, at 01:58, Johnny Billquist wrote:
By the way, anyone want to help do a first (simple) page with some more meaningful content to serve from MIM/MADAME?
(Oh, and this is an interesting flytrap. The URLs some people are already sending to it is hilarous...)
As an example:
Fri, 13 Apr 2012 13:17:00 GMT (120.204.196.235:44391) GET /mysqladminconfig/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:01 GMT (120.204.196.235:44492) GET /mysql-admin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:05 GMT (120.204.196.235:45337) GET /MySQLAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:12 GMT (120.204.196.235:46888) GET /phpadmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:13 GMT (120.204.196.235:46976) GET /phpmanager/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:13 GMT (120.204.196.235:47046) GET /phpm/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:30 GMT (120.204.196.235:50741) GET /phpmy-admin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:31 GMT (120.204.196.235:51154) GET /phpmyadmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:31 GMT (120.204.196.235:51344) GET /_phpMyAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:32 GMT (120.204.196.235:51502) GET /phpMyAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:54 GMT (120.204.196.235:56044) GET /phpMyA/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:55 GMT (120.204.196.235:56435) GET /phpmy/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:56 GMT (120.204.196.235:56513) GET /pHpMy/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:57 GMT (120.204.196.235:56573) GET /php/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:19 GMT (120.204.196.235:60796) GET /roundcube/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:20 GMT (120.204.196.235:32872) GET /scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:21 GMT (120.204.196.235:32994) GET /sl2/data/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:25 GMT (120.204.196.235:33704) GET /sqlmanager/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:25 GMT (120.204.196.235:33959) GET /sql/scripts/setup.php by ZmEu
Johnny
On 2012-04-14 00:54, Johnny Billquist wrote:
Ha! I found a bug in my code which caused corrupted data to be sent
under rather specific conditions, which were triggered by my code to
send a jpeg. It was in the TCP driver (gotta love the ability to unload
and load device drivers on a running system...)
I can now server jpeg files as well...
Johnny
On 2012-04-13 18:17, Paul_Koning at Dell.com wrote:
RFC 2616 is the authority on all this. Judging by a quick scan: what
do you mean by "chunk data"? If you don't specify a transfer-coding,
then yes, I think 8 bit clean is assumed. But since you mentioned
"chunk" do you mean that you're specifying chunked encoding? I didn't
read all that but there's a lot of content about that in the RFC.
You'll need a content-length header, unless the connection is closed
after the jpg file is transferred. See section 4.4 of the RFC.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On
Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 12:07 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
On 2012-04-13 17:01, Sampsa Laine wrote:
I also noticed a disturbing lack of funny cat pictures on the demo
site...
That is related to my most immediate question. Exactly how does
pictures get served in http. I tried implementing it, but I must have
something wrong, so I'm trying to figure it out right now.
Questions are:
I assume the TCP stream is to be 8-bit clean. That is - no special
interpretation of the byte 255 (as is done in telnet).
I assume that pictures should be ok with "Content-type: image/jpeg"
I assume chunk data should work for this I assume that all the bytes
of the image should just come in the stream with nothing more involved.
Can anyone comment on those assumptions?
I have a jpeg image on mim, which I'm using as my experiment. I have
checked that the contents match that of the original file which I
copied, so I think the actual image is served right...
Johnny
Sampsa
On 13 Apr 2012, at 17:58, Mark Wickens wrote:
Johnny,
That's really fantastic!
Just one question, where are the dancing dogs? ;)
Regards, Mark
On 13/04/12 13:41, Johnny Billquist wrote:
This is perhaps slightly offtopic, but fun enough that I like to
announce it anyway...
===
Ok. I just thought I'd stir some interest and just general noise by
announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX that
I've also written. There are probably a bunch of bugs and issues
still around, so I'm happy to take any bug reports, comments or
whatever.
The url is http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine, other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something else/more,
I'm interested in hearing about it. The TCP/IP stack will
eventually (soon) be available for others to download and use, and
apart from the web server, I've also written a telnet client, and a
few small services under TCP, as well as some tools for
administration. I have some polishing to do, I need to finish a DNS
resolved, and I'd like to also finish FTP and a telnet server, but
I might be open to distributing things before I've finished all
those things, especially if someone is interested in helping
writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11.
FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be
possible to get running under almost any M+ version, but there
might be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two
drivers as well as one or two tools really are big enough that I
need to use the split I/D space feature in M+. Rewriting stuff to
not need that is way too much work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
That's probably just an automated scan..I get tons of those on any open port, it's kinda funny watching people trying to log in as root on a VMS box, over and over again.
Sampsa
On 14 Apr 2012, at 01:58, Johnny Billquist wrote:
By the way, anyone want to help do a first (simple) page with some more meaningful content to serve from MIM/MADAME?
(Oh, and this is an interesting flytrap. The URLs some people are already sending to it is hilarous...)
As an example:
Fri, 13 Apr 2012 13:17:00 GMT (120.204.196.235:44391) GET /mysqladminconfig/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:01 GMT (120.204.196.235:44492) GET /mysql-admin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:05 GMT (120.204.196.235:45337) GET /MySQLAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:12 GMT (120.204.196.235:46888) GET /phpadmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:13 GMT (120.204.196.235:46976) GET /phpmanager/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:13 GMT (120.204.196.235:47046) GET /phpm/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:30 GMT (120.204.196.235:50741) GET /phpmy-admin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:31 GMT (120.204.196.235:51154) GET /phpmyadmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:31 GMT (120.204.196.235:51344) GET /_phpMyAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:32 GMT (120.204.196.235:51502) GET /phpMyAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:54 GMT (120.204.196.235:56044) GET /phpMyA/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:55 GMT (120.204.196.235:56435) GET /phpmy/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:56 GMT (120.204.196.235:56513) GET /pHpMy/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:57 GMT (120.204.196.235:56573) GET /php/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:19 GMT (120.204.196.235:60796) GET /roundcube/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:20 GMT (120.204.196.235:32872) GET /scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:21 GMT (120.204.196.235:32994) GET /sl2/data/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:25 GMT (120.204.196.235:33704) GET /sqlmanager/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:25 GMT (120.204.196.235:33959) GET /sql/scripts/setup.php by ZmEu
Johnny
On 2012-04-14 00:54, Johnny Billquist wrote:
Ha! I found a bug in my code which caused corrupted data to be sent
under rather specific conditions, which were triggered by my code to
send a jpeg. It was in the TCP driver (gotta love the ability to unload
and load device drivers on a running system...)
I can now server jpeg files as well...
Johnny
On 2012-04-13 18:17, Paul_Koning at Dell.com wrote:
RFC 2616 is the authority on all this. Judging by a quick scan: what
do you mean by "chunk data"? If you don't specify a transfer-coding,
then yes, I think 8 bit clean is assumed. But since you mentioned
"chunk" do you mean that you're specifying chunked encoding? I didn't
read all that but there's a lot of content about that in the RFC.
You'll need a content-length header, unless the connection is closed
after the jpg file is transferred. See section 4.4 of the RFC.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On
Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 12:07 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
On 2012-04-13 17:01, Sampsa Laine wrote:
I also noticed a disturbing lack of funny cat pictures on the demo
site...
That is related to my most immediate question. Exactly how does
pictures get served in http. I tried implementing it, but I must have
something wrong, so I'm trying to figure it out right now.
Questions are:
I assume the TCP stream is to be 8-bit clean. That is - no special
interpretation of the byte 255 (as is done in telnet).
I assume that pictures should be ok with "Content-type: image/jpeg"
I assume chunk data should work for this I assume that all the bytes
of the image should just come in the stream with nothing more involved.
Can anyone comment on those assumptions?
I have a jpeg image on mim, which I'm using as my experiment. I have
checked that the contents match that of the original file which I
copied, so I think the actual image is served right...
Johnny
Sampsa
On 13 Apr 2012, at 17:58, Mark Wickens wrote:
Johnny,
That's really fantastic!
Just one question, where are the dancing dogs? ;)
Regards, Mark
On 13/04/12 13:41, Johnny Billquist wrote:
This is perhaps slightly offtopic, but fun enough that I like to
announce it anyway...
===
Ok. I just thought I'd stir some interest and just general noise by
announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX that
I've also written. There are probably a bunch of bugs and issues
still around, so I'm happy to take any bug reports, comments or
whatever.
The url is http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine, other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something else/more,
I'm interested in hearing about it. The TCP/IP stack will
eventually (soon) be available for others to download and use, and
apart from the web server, I've also written a telnet client, and a
few small services under TCP, as well as some tools for
administration. I have some polishing to do, I need to finish a DNS
resolved, and I'd like to also finish FTP and a telnet server, but
I might be open to distributing things before I've finished all
those things, especially if someone is interested in helping
writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11.
FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be
possible to get running under almost any M+ version, but there
might be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two
drivers as well as one or two tools really are big enough that I
need to use the split I/D space feature in M+. Rewriting stuff to
not need that is way too much work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
By the way, anyone want to help do a first (simple) page with some more meaningful content to serve from MIM/MADAME?
(Oh, and this is an interesting flytrap. The URLs some people are already sending to it is hilarous...)
As an example:
Fri, 13 Apr 2012 13:17:00 GMT (120.204.196.235:44391) GET /mysqladminconfig/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:01 GMT (120.204.196.235:44492) GET /mysql-admin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:05 GMT (120.204.196.235:45337) GET /MySQLAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:12 GMT (120.204.196.235:46888) GET /phpadmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:13 GMT (120.204.196.235:46976) GET /phpmanager/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:13 GMT (120.204.196.235:47046) GET /phpm/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:30 GMT (120.204.196.235:50741) GET /phpmy-admin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:31 GMT (120.204.196.235:51154) GET /phpmyadmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:31 GMT (120.204.196.235:51344) GET /_phpMyAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:32 GMT (120.204.196.235:51502) GET /phpMyAdmin/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:54 GMT (120.204.196.235:56044) GET /phpMyA/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:55 GMT (120.204.196.235:56435) GET /phpmy/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:56 GMT (120.204.196.235:56513) GET /pHpMy/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:17:57 GMT (120.204.196.235:56573) GET /php/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:19 GMT (120.204.196.235:60796) GET /roundcube/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:20 GMT (120.204.196.235:32872) GET /scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:21 GMT (120.204.196.235:32994) GET /sl2/data/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:25 GMT (120.204.196.235:33704) GET /sqlmanager/scripts/setup.php by ZmEu
Fri, 13 Apr 2012 13:18:25 GMT (120.204.196.235:33959) GET /sql/scripts/setup.php by ZmEu
Johnny
On 2012-04-14 00:54, Johnny Billquist wrote:
Ha! I found a bug in my code which caused corrupted data to be sent
under rather specific conditions, which were triggered by my code to
send a jpeg. It was in the TCP driver (gotta love the ability to unload
and load device drivers on a running system...)
I can now server jpeg files as well...
Johnny
On 2012-04-13 18:17, Paul_Koning at Dell.com wrote:
RFC 2616 is the authority on all this. Judging by a quick scan: what
do you mean by "chunk data"? If you don't specify a transfer-coding,
then yes, I think 8 bit clean is assumed. But since you mentioned
"chunk" do you mean that you're specifying chunked encoding? I didn't
read all that but there's a lot of content about that in the RFC.
You'll need a content-length header, unless the connection is closed
after the jpg file is transferred. See section 4.4 of the RFC.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On
Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 12:07 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
On 2012-04-13 17:01, Sampsa Laine wrote:
I also noticed a disturbing lack of funny cat pictures on the demo
site...
That is related to my most immediate question. Exactly how does
pictures get served in http. I tried implementing it, but I must have
something wrong, so I'm trying to figure it out right now.
Questions are:
I assume the TCP stream is to be 8-bit clean. That is - no special
interpretation of the byte 255 (as is done in telnet).
I assume that pictures should be ok with "Content-type: image/jpeg"
I assume chunk data should work for this I assume that all the bytes
of the image should just come in the stream with nothing more involved.
Can anyone comment on those assumptions?
I have a jpeg image on mim, which I'm using as my experiment. I have
checked that the contents match that of the original file which I
copied, so I think the actual image is served right...
Johnny
Sampsa
On 13 Apr 2012, at 17:58, Mark Wickens wrote:
Johnny,
That's really fantastic!
Just one question, where are the dancing dogs? ;)
Regards, Mark
On 13/04/12 13:41, Johnny Billquist wrote:
This is perhaps slightly offtopic, but fun enough that I like to
announce it anyway...
===
Ok. I just thought I'd stir some interest and just general noise by
announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX that
I've also written. There are probably a bunch of bugs and issues
still around, so I'm happy to take any bug reports, comments or
whatever.
The url is http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine, other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something else/more,
I'm interested in hearing about it. The TCP/IP stack will
eventually (soon) be available for others to download and use, and
apart from the web server, I've also written a telnet client, and a
few small services under TCP, as well as some tools for
administration. I have some polishing to do, I need to finish a DNS
resolved, and I'd like to also finish FTP and a telnet server, but
I might be open to distributing things before I've finished all
those things, especially if someone is interested in helping
writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11.
FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be
possible to get running under almost any M+ version, but there
might be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two
drivers as well as one or two tools really are big enough that I
need to use the split I/D space feature in M+. Rewriting stuff to
not need that is way too much work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Ha! I found a bug in my code which caused corrupted data to be sent under rather specific conditions, which were triggered by my code to send a jpeg. It was in the TCP driver (gotta love the ability to unload and load device drivers on a running system...)
I can now server jpeg files as well...
Johnny
On 2012-04-13 18:17, Paul_Koning at Dell.com wrote:
RFC 2616 is the authority on all this. Judging by a quick scan: what do you mean by "chunk data"? If you don't specify a transfer-coding, then yes, I think 8 bit clean is assumed. But since you mentioned "chunk" do you mean that you're specifying chunked encoding? I didn't read all that but there's a lot of content about that in the RFC.
You'll need a content-length header, unless the connection is closed after the jpg file is transferred. See section 4.4 of the RFC.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 12:07 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
On 2012-04-13 17:01, Sampsa Laine wrote:
I also noticed a disturbing lack of funny cat pictures on the demo site...
That is related to my most immediate question. Exactly how does pictures get served in http. I tried implementing it, but I must have something wrong, so I'm trying to figure it out right now.
Questions are:
I assume the TCP stream is to be 8-bit clean. That is - no special interpretation of the byte 255 (as is done in telnet).
I assume that pictures should be ok with "Content-type: image/jpeg"
I assume chunk data should work for this I assume that all the bytes of the image should just come in the stream with nothing more involved.
Can anyone comment on those assumptions?
I have a jpeg image on mim, which I'm using as my experiment. I have checked that the contents match that of the original file which I copied, so I think the actual image is served right...
Johnny
Sampsa
On 13 Apr 2012, at 17:58, Mark Wickens wrote:
Johnny,
That's really fantastic!
Just one question, where are the dancing dogs? ;)
Regards, Mark
On 13/04/12 13:41, Johnny Billquist wrote:
This is perhaps slightly offtopic, but fun enough that I like to announce it anyway...
===
Ok. I just thought I'd stir some interest and just general noise by announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX that I've also written. There are probably a bunch of bugs and issues still around, so I'm happy to take any bug reports, comments or whatever.
The url is http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine, other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something else/more, I'm interested in hearing about it. The TCP/IP stack will eventually (soon) be available for others to download and use, and apart from the web server, I've also written a telnet client, and a few small services under TCP, as well as some tools for administration. I have some polishing to do, I need to finish a DNS resolved, and I'd like to also finish FTP and a telnet server, but I might be open to distributing things before I've finished all those things, especially if someone is interested in helping writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11. FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be possible to get running under almost any M+ version, but there might be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two drivers as well as one or two tools really are big enough that I need to use the split I/D space feature in M+. Rewriting stuff to not need that is way too much work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
In addition, the nodes in the 19.3xx range are still missing.
I'm having trouble getting my firewall to establish the UDP "connection".
It insists on randomizing the source port. Unfortunately, MultiNet requires that both the source and destination port for the UDP packets be 700. So, my attempts are trying to come through with a bogus source port number, and the firewall locks onto that bogus number.
I'm hoping that once I see a packet from your side coming to my port 700, it'll treat the number as the destination port and lock it down and then I can bring the circuit up. So, I'll keep an eye on my firewall for incoming packets from you and as soon as I see the firewall have some better knowledge about the "connection", I'll re-enable the circuit.
--Marc
I have been looking at the Ethernet driver code so I know pretty much
what I have to do there. While I don't have ACP's to work with, some of
the code will live in a pseudo-network driver and resident libraries,
while the rest will be detached processes. I'm not really looking for
speed, but I am looking for functionality.
-Steve
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of Paul_Koning at Dell.com
Sent: Friday, April 13, 2012 11:20
To: hecnet at Update.UU.SE
Subject: RE: [HECnet] Web-server under RSX-11M-PLUS
You're right, drivers in RSTS have nothing whatsoever in
common with any other OS. They aren't all that complicated,
just different. Also undocumented... And they come in four
flavors: disk, terminal port, other non-network device,
network (DECnet) device. The last two have a bunch of
similarities, but the first two are completely unrelated to
anything else.
The other thing about RSTS networking is that the existing
networking user API doesn't use device drivers or I/O calls,
but rather send-message operations. It would make sense for
other protocol stacks to do likewise. The main complication
is that those message operations are packet based, which
makes them a fairly poor fit for the TCP stream-based semantics.
Oh yes, RSTS does have asynchronous I/O with ASTs, starting
with V9.0. They are only really async for selected devices:
disk file I/O, and streaming tapes (TS11 and TMSCP). That
was done to make backup to streaming tapes run at civilized
performance.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 9:39 AM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
There are parts that are pretty common, and there are parts
that are miles apart...
Device drivers, as well as I/O in general, is very different
in RSX than RSTS/E.
The same goes for the concepts of processes/tasks, which in
RSTS/E are a job, which is tied to a terminal, while in RSX
tasks are more self-contained in the same way as under Unix.
So you can run several tasks at the same time from one
terminal, and tasks can run other tasks without exiting
themself, and that is the normal way of life. RSTS/E is in
another category of design.
All I/O is also asynchronous in RSX... And you have ASTs that
tells you when things actually have happened.
Not that I want to rack down on RSTS/E, or discourage you
from trying something, but you should expect this to be in
the rather difficult category of work... :-)
Johnny
On 2012-04-13 15:32, Steve Davidson wrote:
Well...
While the two Oses ARE different they do share quite a bit.
I used to
support RSX (and IAS) at the internals level when I worked in the
Corporate Operations Group/Software Services/Real-time
Group (RTG) at
DEC so I'm quite at home with the RSX family of systems. I
use RSTS/E
in day-to-day tasks here. I am out of practice but it
wouldn't take
that much to come back up to speed programming wise. I
also used to
teach MACRO-11 to Software Services Personnel.
This could be fun! It will certainly be different!
-Steve
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 09:22
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
Some parts possibly, but it would be very complex. Much of
the actual
TCP/IP implementation is in the form of device drivers.
In RSX, there is (now) IF:, which is the basic device interfaces,
IP:, which talks raw IP (and ICMP), UD:, which talks UDP, and TC:,
which talks TCP.
The TC: driver, as well as the UD: driver internally then talks to
the
IP: driver. The IP: driver in turn talks to the appropriate
IF: driver, depending on the routing tables.
TC: even understands file specifications, so you can do
things like:
PIP TI:=TC:"130.238.19.212";17, which will give you the
quote of the
day on your terminal (that's what port 17 is). (Try it on
MIM:: :-) )
Device drivers are very different in the different OSes,
so the basic
code that deals with the protocol bits can pretty much be used
straight off, but all the code dealing with the interfacing to the
OS, memory, other drivers, and user applications, will be totally
different. I'm not sure exactly how a device driver in
RSTS/E works.
Also, for ethernet, I make use of a feature in RSX called an ACP,
which is like a user level program that extends the
functionality of
a device.
So the ethernet device is an ACP attached to the IF:
driver (for the
specific unit), and which in turn implements all the logic of
communicating over ethernet, including ARP.
And then of course, is the tools, which are perhaps a bit more OS
specific, but they are smaller and simpler for the most part.
Applications (if everything else was ported) would probably work
without any changes.
Johnny
On 2012-04-13 14:55, Steve Davidson wrote:
Johnny,
Could it be ported to RSTS/E V10.1? That's what PLUTO:: is.
-Steve
-----Original Message-----
From: owner-hecnet at Update.UU.SE
[mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 08:41
To: hecnet at Update.UU.SE
Subject: [HECnet] Web-server under RSX-11M-PLUS
This is perhaps slightly offtopic, but fun enough that I like to
announce it anyway...
===
Ok. I just thought I'd stir some interest and just general
noise by
announcing that I've written a small web-server running
under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX
that I've
also written. There are probably a bunch of bugs and
issues still
around, so I'm happy to take any bug reports, comments
or whatever.
The url is http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine,
other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something
else/more,
I'm interested in hearing about it. The TCP/IP stack will
eventually
(soon) be available for others to download and use, and
apart from
the web server, I've also written a telnet client, and a
few small
services under TCP, as well as some tools for
administration. I have
some polishing to do, I need to finish a DNS resolved, and
I'd like
to also finish FTP and a telnet server, but I might be open to
distributing things before I've finished all those things,
especially
if someone is interested in helping writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11.
FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be
possible to get running under almost any M+ version, but
there might
be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two
drivers as well as one or two tools really are big enough
that I need
to use the split I/D space feature in M+.
Rewriting stuff to not need that is way too much work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay
hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
The following areas need to change their addresses for their link to SG1
to work:
3, 52, 59 and the two area 6 nodes.
In addition, the nodes in the 19.3xx range are still missing.
The new address is: 69.21.253.158 (bridge.declab.net)
-Steve
Async I/O involves a couple of new system calls (new EMT codes) -- .reada, .writa, .astx . The reada and writa calls take additional arguments in the firqb: fqfil is the AST address, fqppn the AST argument, and fqnam1 the event flag number. I pulled that out of the code so I don't have the details; it's in the V9.0 or later system calls manual.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 12:18 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
On 2012-04-13 17:20, Paul_Koning at Dell.com wrote:
...
Oh yes, RSTS does have asynchronous I/O with ASTs, starting with V9.0.
They are only really async for selected devices: disk file I/O, and
streaming tapes (TS11 and TMSCP). That was done to make backup to streaming tapes run at civilized performance.
Really? I didn't know that, but then I stopped using RSTS/E after V8, so things after that are a bit more unknown to me. How did they implement it? The existing user operations don't have any obvious place that AST hooks could fit, that I remember. Some spare field in the FIRQB that could hold the AST address?
Johnny
Chunked data is basically what you use if you don't know the content length. It's in RFC2616. You basically transfer a length, followed by the data, and then a new length, new data, and so on until you've transferred it all. And then you send an end-of-data marker.
No content length needed.
Johnny
On 2012-04-13 18:17, Paul_Koning at Dell.com wrote:
RFC 2616 is the authority on all this. Judging by a quick scan: what do you mean by "chunk data"? If you don't specify a transfer-coding, then yes, I think 8 bit clean is assumed. But since you mentioned "chunk" do you mean that you're specifying chunked encoding? I didn't read all that but there's a lot of content about that in the RFC.
You'll need a content-length header, unless the connection is closed after the jpg file is transferred. See section 4.4 of the RFC.
paul
-----Original Message-----
From: owner-hecnet at Update.UU.SE [mailto:owner-hecnet at Update.UU.SE] On Behalf Of Johnny Billquist
Sent: Friday, April 13, 2012 12:07 PM
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Web-server under RSX-11M-PLUS
On 2012-04-13 17:01, Sampsa Laine wrote:
I also noticed a disturbing lack of funny cat pictures on the demo site...
That is related to my most immediate question. Exactly how does pictures get served in http. I tried implementing it, but I must have something wrong, so I'm trying to figure it out right now.
Questions are:
I assume the TCP stream is to be 8-bit clean. That is - no special interpretation of the byte 255 (as is done in telnet).
I assume that pictures should be ok with "Content-type: image/jpeg"
I assume chunk data should work for this I assume that all the bytes of the image should just come in the stream with nothing more involved.
Can anyone comment on those assumptions?
I have a jpeg image on mim, which I'm using as my experiment. I have checked that the contents match that of the original file which I copied, so I think the actual image is served right...
Johnny
Sampsa
On 13 Apr 2012, at 17:58, Mark Wickens wrote:
Johnny,
That's really fantastic!
Just one question, where are the dancing dogs? ;)
Regards, Mark
On 13/04/12 13:41, Johnny Billquist wrote:
This is perhaps slightly offtopic, but fun enough that I like to announce it anyway...
===
Ok. I just thought I'd stir some interest and just general noise by announcing that I've written a small web-server running under RSX.
It's written in BASIC+2, and uses the TCP/IP stack for RSX that I've also written. There are probably a bunch of bugs and issues still around, so I'm happy to take any bug reports, comments or whatever.
The url is http://madame.update.uu.se/, and if anyone is curious
about the code, it's at mim.update.uu.se (same machine, other IP),
under MIM::DU:[HTTPD]WWW.B2S (also on HECnet)
If people have any interest in this stuff, or something else/more, I'm interested in hearing about it. The TCP/IP stack will eventually (soon) be available for others to download and use, and apart from the web server, I've also written a telnet client, and a few small services under TCP, as well as some tools for administration. I have some polishing to do, I need to finish a DNS resolved, and I'd like to also finish FTP and a telnet server, but I might be open to distributing things before I've finished all those things, especially if someone is interested in helping writing stuff.
I have interfaces completed for BASIC+2, PDP-11 C, Macro-11. FORTRAN 77 should also work, but I haven't tried it yet.
This all runs under RSX-11M-PLUS V4.6, but I think it should be possible to get running under almost any M+ version, but there might be some hacking needed for some versions.
It will not work under 11M, and I never expect it to. One or two drivers as well as one or two tools really are big enough that I need to use the split I/D space feature in M+. Rewriting stuff to not need that is way too much work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol