Archive of UserLand's first discussion group, started October 5, 1998.
Piking behind firewalls
Author: Dave Winer Posted: 5/9/2000; 9:59:34 PM Topic: Piking behind firewalls Msg #: 17142 Prev/Next: 17141 / 17143
Background
While Brent has been working on the security issue I've been looking at how to work with the firewall issue in Pike, per Sam Yates' suggestion. If all goes well I'll have a test server running the software tomorrow or Thursday, and people can try it out. It doesn't appear to be too hard or effect too much code.
BTW, I'm using a style we use on our internal website, this is a narrative document. It goes through a process, and is only finished when the [In Progress] part of the title goes away. In this case I hope to take it off when the feature is operational.
The Pike button
When Manila generates the Pike button, the url comes from an object named editInPike in the #urls table for the site. That URL must change to point to the local server.
The virtual file that's referenced is called "editInPike". So if Pike is running on port 81, then the URL is:
Further, the URL must have information encoded that contains: the server, port, sitename, msgnum, username, password.
http://127.0.0.1:81/editInPike
Yes Virgina, your username and password are in the web page. Don't email that page to anyone. ";->"
http://127.0.0.1:81/editInPike$bull.editthispage.com,80,2087,bull@mancuso.com,yomama
When the user clicks the button
When the user clicks on the button the request goes to Pike, not Manila.
A new responder is installed in Pike, called editInPike.
It calls back to the server sending back the servername, msgnum, and the gobbledy-gook.
It responds with athat's exactly what it would have sent to Pike if it had sent an XML-RPC message in the other direction.
Voila. Manila no longer has to send an XML-RPC message to Pike.
After opening the document in Pike
Pike redirects.. where??
How about back to the its referer?
Implementation notes
Wednesday, May 10, 2000 at 7:50:37 AM by DW
Wednesday, May 10, 2000 at 8:16:53 AM by DW
Added a new (temporary) variable, user.prefs.flNewPikeButton, if present and true, mainResponder.discuss.readMessage generates the new style of Pike button. This is intended to make it easy to integrate these features into the update flow, when the time comes for that.
OK, the server side is done. Next step is to write the responder that runs in Pike. This is fun! Wednesday, May 10, 2000 at 10:07:22 AM by DW
Note: The only code that changed on the server was mainResponder.discuss.readMessage. Instead of grabbing the url from the #urls table, I create it on the fly. To put it in the #urls table implies that it could change on a site by site level. It can't. It must be the same in all Pikes.
Back at work, doing the responder.
There are responses to this message:
- Re: Piking behind firewalls [In Progress], David Brown, 5/10/2000; 10:59:16 AM
- Tough problem to solve..., David Brown, 5/10/2000; 11:59:59 AM
- It worked!, Dave Winer, 5/10/2000; 12:34:35 PM
- Hash generation location?, William Crim, 5/10/2000; 5:31:13 PM
- Firewalls with Piking Sauce (Preview), Dave Winer, 5/10/2000; 8:28:20 PM
- Re: Piking behind firewalls, David Brown, 5/18/2000; 4:59:57 PM
This page was archived on 6/13/2001; 4:55:08 PM.
© Copyright 1998-2001 UserLand Software, Inc.