Is GoAhead software still alive?

We've been using the GoAhead web server for several years, and recently we've had to fix a few bugs in it (the keep-alive support broke if you used .asp pages). The SSL support is also somewhat broken, and I'm about to start work on fixing that as well.

The GoAhead NNTP server no longer seems to be accessible, and I've gotten no responses to queries submitted to GoAhead via their web page.

I was hoping I could submit patches and get some advice on how to fix the SSL support, but GoAhead seems to have gone dark. Has anybody heard anything from/about GoAhead recently?

--
Grant Edwards                   grante             Yow! How do I get HOME?
                                  at               
                               visi.com
Reply to
Grant Edwards
Loading thread data ...

They posted a help-wanted ad here recently!

Reply to
larwe

It seems like the guy that created goahead moved to his own busines project:

formatting link

You will not get support from the company currently holding goahead. use the goahead server on lynxos with flash flex to render the client gui. I'm also going attempt to integrate ssl support using openssl as well i the next month.

The things i don't like about goahead:

- no business support

- no built in session support [session cookies]

- not multithreaded .. can cause timeouts to users if there ar simultenously connected users.

- doesn't support fileupload rfc1867

- also microsoft says the data returned by goahead is malformed so its no http ... whatever compliant. When i instantiate "new WebClient"

but the company i'm in wants to use it.....

other embedded webserver providers

formatting link
formatting link
- looks like a solid product by the documentatio written in c++

Leblanc Meneses

formatting link
formatting link

Reply to
leblancmeneses

I don't want to "get support", I want to give it. ;)

I've fixed the support for for keep-alive, and also fixed some problems that came up when trying to use it in "just SSL" mode. Now I'm trying to figure out where I should send patches.

That wasn't the case when we chose it. :/

None of those are issues for us.

I've seen examples of file upload using GoAhead, but I guess I don't know if they're RFC1867 compliant. Adding support for file upload is on my list of things to do for my current project, so I'll probably find out...

We've been using it for many years, and it works well enough for what we need to do. In the past, I've submitted patches to GoAhead, but it doesn't appear that they're accepting them any more.

I know there are new products coming out that are using the GoAhead web server (I just bought a new wireless AP that uses it), so I was hoping there was an "official" source tree somewhere that would accept fixes/patches.

--
Grant Edwards                   grante             Yow! I feel like I'm
                                  at               in a Toilet Bowl with a
                               visi.com            thumbtack in my forehead!!
Reply to
Grant Edwards

ahhhh

when handling file upload make sure to test uploads with large files. browsers do not send the whole file in 1 request you have intermediat requests asking for the next buffer size until your reached your conten length.

lastly although goahead doesn't provide an api to provide easy access t sessions ... it does let you read/write headers manually so you can code u a solution your self.

this project will fit better in sourceforge [forum/feature request/svn .ect] ... you won't be violating anything as long as you attach ther license, make the project gpl, and begin to distinguish you modifications.

although in todays age... creating a webserver isn't that difficult

Event-Based Programming: Taking Events to the Limit (Paperback) - writes an event based one [provides complete source]

formatting link
[ ssl integration - full source mi license]

let me know if you plan on going on your own i wouldn't mind contributing

Leblanc Meneses

formatting link

Reply to
leblancmeneses

The files that I'll be uploading are only a few hundred bytes long, but I'll keep that in mind anyway.

We don't have any need for sessions.

Something that serves up files certainly isn't difficult. Handling forms isn't very hard either. The server-side java-script interpreter is probably the tricky bit. We've been using GoAhead for quite a while (7 years?), and we don't really have any motivation to change.

--
Grant Edwards                   grante             Yow!  I think I'll make
                                  at               SCRAMBLED EGGS!! They're
                               visi.com            each in LITTLE SHELLS...
Reply to
Grant Edwards

make

They're

SHELLS...

Hi! By chance I'm looking at the keep-alive support in GoAhead. We have 2.1.8 with a few patches. Keep-alive seems to be broken in combination with SSL also. Would you be weilling to share the keep-alive fix?

Regards, Martin martin dot carlsson at transmode dot se

Reply to
mapeca

A couple weeks ago I was in contact with somebody from GoAhead, and while they are no longer supporting the product, they would be happy if somebody wanted to set up a sourceforge project so that the users could have a central place to submit patches.

They don't have anybody on staff with time to admin the SF project, but perhaps if a few users were to step forward, we could get things going. Anybody interested in helping out?

Right now the best place for support info is the wiki at

formatting link

There are a couple problems with keep-alive in the goahead server. NB: Line numbers probably don't match any body else's files due to formatting changes and various other hackage.

1) The server enables keep-alive even when there's no content-length header for the page it's serving. That's a no-no: since the server doesn't close the connection, the client has no way to know the page ended and will wait until the connection times out.

The fix for that is in websDefaultHandler() in default.c: 179 if (bytes) { 180 websWrite(wp, T("Content-length: %d\r\n"), bytes); 181 websSetRequestBytes(wp, bytes); 182 } else { 183 // can't do keep-alive without a content-length header 184 flags &= ~WEBS_KEEP_ALIVE; 185 wp->flags &= ~WEBS_KEEP_ALIVE; 186 }

2) The server contains code to always close the connection at the end of a served page when the link is secure. I've absolutely no idea why this is done. That's in webs.c in the function websDone(). Here's the fix for that: 2203 /* 2204 * Close any opened document by a handler 2205 */ 2206 websPageClose(wp); 2207 2208 #if 0 2209 // I've no idea why this code was here. Keep alive support seems 2210 // to work fine for secure connections. 2211 /* 2212 * Exit if secure. 2213 */ 2214 #ifdef WEBS_SSL_SUPPORT 2215 if (wp->flags & WEBS_SECURE) 2216 { 2217 websTimeoutCancel(wp); 2218 websSSLFlush(wp->wsp); 2219 websSSLShutdown(wp->wsp); 2220 socketCloseConnection(wp->sid); 2221 websFree(wp); 2222 return; 2223 } 2224 #endif 2225 #endif 2226 /* 2227 * If using Keep Alive (HTTP/1.1) we keep the socket open for a period 2228 * while waiting for another request on the socket. 2229 */ 3) There's code that arbitrarily disables keep-alive for certain response types because some fouled-up ancient version of IE is broken. Get rid of that bit of brokenness by deleting whats shown as lines 1493-1496 at the beginning of websResponse() in webs.c: 1481 /******************************************************************************/ 1482 /* 1483 * Output a HTTP response back to the browser. If redirect is set to a 1484 * URL, the browser will be sent to this location. 1485 */ 1486 1487 void websResponse(webs_t wp, int code, char_t *message, char_t *redirect) 1488 { 1489 char_t *date; 1490 1491 a_assert(websValid(wp)); 1492 1493 /* 1494 * IE3.0 needs no Keep Alive for some return codes. 1495 */ 1496 wp->flags &= ~WEBS_KEEP_ALIVE; 1497
--
Grant Edwards                   grante             Yow! HAIR TONICS, please!!
                                  at               
                               visi.com
Reply to
Grant Edwards

d\r\n"), bytes);

ontent-length header

LIVE;

;

ive support seems

he socket open for a period

socket.

*************************=AD****/

If redirect is set to a

on.

sage, char_t *redirect)

n codes.

=A0 =A0 Yow! HAIR TONICS, please!!

=A0 =A0 =A0 =A0 =A0 =A0 =A0

=A0 =A0 =A0 =A0 =A0 =A0

Hello

Just wanted to clarify that for now if you have any code changes to submit you can contact GoAhead via the

formatting link
website on the "contact us" page at
formatting link
Someone will get back with you to at least collect any changes in the interim. At some point we (GoAhead) would also like to provide the source on SourceForge, as Grant mentioned above. This will benefit users in the community that are using it currently. As there is no current publlic location for the community today.

Regards,

Holger Herbert GoAhead Software

Reply to
holger

KLone is another solid option: open source, good documentation, professional support, file uploads, sessions and more.

formatting link
(I work for them).

Reply to
tat

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.