Re: [AOLSERVER] Can you help me get rid of the temp files in this exec?

2003-09-09 Thread Jerry Asher
Dossy said:
> On 2003.09.07, Jerry Asher <[EMAIL PROTECTED]> wrote:
>>
>> WS: uses Verisign Payment gateway to charge user for the new virus and
>> drug.
>
> If your front-end webservers are doing CC auth and verification, then
> you might as well be giving your product away.  Or, hope your e-commerce
> site is so low-traffic that nobody finds out about you.  Because, if
> someone does, you'll be in for a world of hurt ... before they even
> steal a single credit card number from your systems.

Well, googling for php ecommerce script serves up 1/4 million links.  cgi
commerce script is another 1/4 million, and ecommerce gateway serves up
1/3 million links.

Now I realize I'm making a McDonalds trailer trash argument here, but the
empirical reality is that a lot of folks with only one webserver seem to
doing cc auth and verification.

That said, I agree with you that a two body solution is preferable.


Jerry


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] Can you help me get rid of the temp files in this exec?

2003-09-07 Thread Jerry Asher
Rob Mayoff said:
> The PK needn't be accessible from the Internet, needn't run the same OS,
> needn't have a web server, etc.

So I am curious, in terms of buy vs. make

A:  Can I buy one of these in a small, raided, secure rackable form?

B:  Is there a version and distribution of *nix, *bsd that
can run AOLserver in which the entire system except for
/var/log /var/"postgres-data" or /var/"berkeley db data"
can be run off of CD (and is considered to be a secured
distribution?)

I realize requiring AOLserver etc. is drastic overkill,
but for me it's the swiss army knife that would get it
in a reasonably secure fashion to market quickest.

Then once one of these is built and installed at this one client's site,
what do you think, is there a big, small, or medium market for this?


Jerry


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] Can you help me get rid of the temp files in this exec?

2003-09-07 Thread Jerry Asher
Daniel P. Stasinski said:
> On Sun, 2003-09-07 at 11:41, Daniel P. Stasinski wrote:
>
>> Check out my ns_encrypt() module that's in CVS.
>
> I just realized I had not updated CVS with a small patch needed for
> compatibility between older versions of OpenSSL.  It may take a few days
> to propagate.  If you need it before that, I can email the tarball
> directly

No, I have what I need for now, a proc forking thing I wrote last night
that will work fine for a week and let me move on until CVS is updated
(but if you haven't already, I would appreciate it if the readme lists the
versions of AOLserver and openssl your module supports.)

Thanks,


Jerry


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] Can you help me get rid of the temp files in this exec?

2003-09-07 Thread Jerry Asher
Daniel P. Stasinski said:

 The problem with what the customer wants is that the password is
> instantly exposed if the server should ever get hacked.
>
> Check out my ns_encrypt() module that's in CVS.  It uses all OpenSSL
> algorithms, a one time pad, and RSA public/private keys.  The webserver
> has the public key and some other remote system would have the private
> key.
>
> Daniel

Hi Daniel, Scott just pointed that out to me.  But can you clarify how you
envision it being used?

If I understand what you are saying and wrap it through my not enough
coffee and I always make things too complex while not really solving the
problemifier, then you have two machines:

WS: running the app
PK: server with the private key
The user always sees WS.

User wants to purchase latest version of Snow Crash
User enters Credit Card info, CC.

WS: uses Verisign Payment gateway to charge user for
the new virus and drug.

WS encrypts using the public key the CC info and
stuffs the encrypted info into local database.

User comes back to WS, and now wants to purchase
Dick Clark's 100th anniversary Birthday Video.

WS pulls encrypted info out of db, and sends it to
PK for decryption.  PK decrypts it.  WS uses decrypted
info to charge user for video with Verisign.

Now the silly h4x0r comes along and steals the db and runs away.
Result: silly h4x0r can do nothing with the db.

So his bigger sister the wiley h4x0r comes back and for as long as
she can maintain a cracked system and a script and remain
undetected, she can pull decrypted cc info out of pk.

Summary: this mitigates or eliminates the hit & run.  Team h4x0r has to
either break into two machines, or break into one machine and remain
hidden, or break into one machine, and have an insider send the private
key along.

The Wiley sysadmin still had best be up on security patches, monitoring
logs, intrustion detection, etc.

Do I basically have it or is there a better way to do this?

Thanks,


Jerry

P.S. If tripwire was cheaper to run, I'd probably add some rube goldberg
scheme where the WS exposes portions of its fs (/etc/ /sbin etc) to PK via
NFS and the PK comes along every five minutes and checksums WS and only
ever processes n cards per minute and only if the checksum doesn't change.


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


[AOLSERVER] Can you help me get rid of the temp files in this exec?

2003-09-07 Thread Jerry Asher
Ah, I figured it out.  After getting the binary, encrypted output, I send
it through openssl once more, this time translating it to base64 and that
makes it very friendly to tcl.

Thanks for the help!

Jerry


I created two functions: cc_encrypt and cc_decrypt that use openssl to
encrypt and decrypt a string. I then plan on storing the encrypted binary
string in the database (along with data detailing the encryption
parameters apart from the password.)

openssl bf -pass pass:${password}

will use the blowfish cipher to encrypt stdin, sending it to stdout using
the password.

openssl bf -pass pass:${password} -in infile -out outfile


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


[AOLSERVER] Can you help me get rid of the temp files in this exec?

2003-09-07 Thread Jerry Asher
I hope you folks don't mind this duplication of posting.  I am sort of
reposting a question here that I posted over at openacs.org, as I know
that some of you that could help don't really hang out over there.

The post over there is:

http://openacs.org/forums/message-view?message_id=120984

But it reads like this:

A client wants to store, well you know, credit card data in the database.

Here's what I am thinking of doing, and I'd like your help in making what
I do actually useful.

I created two functions: cc_encrypt and cc_decrypt that use openssl to
encrypt and decrypt a string. I then plan on storing the encrypted binary
string in the database (along with data detailing the encryption
parameters apart from the password.)

openssl bf -pass pass:${password}

will use the blowfish cipher to encrypt stdin, sending it to stdout using
the password.

openssl bf -pass pass:${password} -in infile -out outfile

will use the blowfish cipher to encrypt infile, sending it to stdout using
the password.

and

openssl ... -d

will decrypt

The complete functions are here:
http://openacs.org/forums/message-view?message_id=120985

But the relevant snippet is:

set plainfilename [ns_mktemp /tmp/cc-XX]
set plainfd [open $plainfilename w]
puts -nonewline $plainfd $plaintext
close $plainfd

set cryptfilename ${plainfilename}.crypt
exec openssl bf -pass pass:${passphrase} -in $plainfilename
-out $cryptfilename
file delete $plainfilename

set cryptfd [open $cryptfilename r]
fconfigure $cryptfd -translation binary
set crypt [read $cryptfd]
close $cryptfd

file delete $cryptfilename



Question one:

What's a good cipher to use? blowfish, des3, ...?

Question two:

So this encrypts the database but now I have this $password floating
around. The password can be set with an environment variable, a string as
I show here, or a file somewhere in the filesystem. Is there a reasonable
secure and easy to implement way to manage this password?

Question three:

I have gotten this working using the temp file approach, but I would like
to get rid of the temporary files both for file hygiene and privacy
concerns.

The problem is that openssl creates binary strings, and I can't figure out
how to make a binary process pipeline (to use the Welch terminology (p110
of PPiTaT) out of exec, or out of |open.

Can anyone help? What magical incantation can I use to get rid of the temp
files?

Question four: assuming the password can be managed, and that I can get
rid of the temp files, what are the security implications of this?

Thanks for your help,

Jerry


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] {SPAM?} [AOLSERVER] announcing C API draft for review

2003-08-29 Thread Jerry Asher
With my new posting powers, I'll add that it's not just Dossy using the
ns_ as stopwords.  Think about the googlebots.

Like modern monks, toiling long hours in dim light with few breaks, the
googlebots scour the net, thankless, repetitive work, never breaking their
vows of silence or chastity, transcribing and indexing all they find so
that we may one day recover it.

If we don't feed them the right stop words, we'll never be able to make
use of their works.

Think of the googlebots!


Jerry

Dossy said:
> On 2003.08.28, Roberto Mello <[EMAIL PROTECTED]> wrote:
>>
>> In a reference I like to see the whole function name, without anything
>> implied. I think removing the Ns_ decreases readability. How do others
>> feel about that?
>
> I didn't want to be the first to say it, but yeah, the listing page
> needs the "Ns_" ... it might increase the amount of text you can fit on
> a page by trimming 3 characters here and there, but to a programmer, it
> definitely reduces readability.
>
> When my eyes scan code, I look for the equivalent of "stopwords" and the
> "Ns_" prefix serves as such a visual cue.  Not having them makes the
> docs almost awkward to skim.
>
> -- Dossy
>
> --
> Dossy Shiobara   mail: [EMAIL PROTECTED]
> Panoptic Computer Network web: http://www.panoptic.com/
>   "He realized the fastest way to change is to laugh at your own
> folly -- then you can let go and quickly move on." (p. 70)
>
>
> --
> AOLserver - http://www.aolserver.com/
>
> To Remove yourself from this list, simply send an email to
> <[EMAIL PROTECTED]> with the
> body of "SIGNOFF AOLSERVER" in the email message. You can leave the
> Subject: field of your email blank.
>


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


[AOLSERVER] outgoingip.patch -- how to get qmail to bind to a specific ip address

2003-08-29 Thread Jerry Asher
This is a bit of a test message to ensure I have the all important closure
and can send emails directly to the aolserver list.

It turns out my ISP delegated the reverse ip to me of one of my addresses,
but not all.  But qmail's qmail-remote just binds to anything it can get
ahold of.  (We've all been guilty of that behavior)

http://www.qmail.org/outgoingip.patch for qmail 1.03

provides qmail/control/outgoingip

It's sort of like paxil for qmail.  It makes qmail more outgoing.  No it's
not.  It does force qmail to bind to a specific address and try that
address first.

Enlightenment for all results!


Jerry


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


[AOLSERVER] My posts are failing to be uh, posted. (posted directly through listserv and not via email)

2003-08-26 Thread Jerry Asher
Last week, I sent a terribly informative and highly salient message to the
list.  And it never showed up.  (Which is too bad, because the honorable
David Savimbi, nephew of Jonas tells me his offer has since expired.)

This week qmail returned it to me, something at aol did not like an IP
Name address lookup.  I am thinking this is a reverse DNS lookup, but I am
not sure.

A few minutes ago, I sent a copy of this post (I did this using a non
gell-man technique) to the list, and I can see it sitting in qmail's queue.
 The reason it's there now, is the same as it was seven days ago:

[EMAIL PROTECTED]>:
Connected to 152.163.216.7 but sender was rejected.
Remote host said: 450 4.7.1 Access temporarily denied. IP name lookup failed
[192.25.138.230]

I've long posted to this list (as I am sure many of you regret), and my
mailserver has never had the reverse dns pointing to theashergroup.  It
hasn't been a problem in the past. Is this a reverse dns check or something
else?

What's going on, and where?  Is it with listserv, or with aol.com's
servers, or with mine?

Thanks,


Jerry



Hi. This is the qmail-send program at moe.theashergroup.com.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<[EMAIL PROTECTED]>:
Connected to 152.163.216.7 but sender was rejected.
Remote host said: 450 4.7.1 Access temporarily denied. IP name lookup failed
[192.25.138.230]
I'm not going to try again; this message has been in the queue too long.

--- Below this line is a copy of the message.

Return-Path: <[EMAIL PROTECTED]>
Received: (qmail 10798 invoked by uid 99); 19 Aug 2003 17:00:37 -
Received: from 68.3.55.171
(SquirrelMail authenticated user jerry)
by postoffice.theashergroup.com with HTTP;
Tue, 19 Aug 2003 10:00:37 -0700 (MST)
Message-ID:
 <[EMAIL PROTECTED]>
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
 <[EMAIL PROTECTED]>
Date: Tue, 19 Aug 2003 10:00:37 -0700 (MST)
Subject: Re: [AOLSERVER] is ns_conn peeraddr spoofable?
From: "Jerry Asher" <[EMAIL PROTECTED]>
To: "AOLserver Discussion" <[EMAIL PROTECTED]>
User-Agent: SquirrelMail/1.4.0
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-1
X-Priority: 3
Importance: Normal

> In fact there are four address-filtering rules your router should use:
> - Drop a packet from the WAN with a LAN source address
> - Drop a packet from the WAN without a LAN destination address
> - Drop a packet from the LAN without a LAN source address
> - Drop a packet from the LAN with a LAN destination address
>

In fact, a day or two ago, I sent an email to various authors of Blaster
articles saying that the DSL and Cable companies should do exactly this on
their routers (and others things they could do) for basic consumer
accounts. This would dramatically reduce many attacks and the reward for
hijacking a machine.  It would also make attacks much more easily traced.

This wouldn't have stopped Blaster, but my basic thesis is that the
Cable/DSL providers have as much blame and arguably more so for providing
a shoddy product as Microsoft.

Jerry


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


[AOLSERVER] listserv archive search broken?

2003-07-10 Thread Jerry Asher
Wanting to find out more about what I believe is AOLserver 4.0s
decoupling of Tcl versions from the server, I visited the
archives and searched for:
tcl 8.4  (since may 2003)  Nothing was found

So I searched for

tcl  (since may 2003)  Nothing was found

So I searched for

tclNothing was found

So I searched for

dossy  Nothing was found

Now I can believe that we have never written about tcl, but I
know we have discussed the dossy api.
So I conclude that search of the listserv archive is broken (and
maybe I am just the last to know.)  And I would like to add my
support to anyone that wants to get the aolserver mailing list
off of listserv.  Jeez, that's one sucky piece of malware.
Jerry

--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


[AOLSERVER] Looking for a semi-permanent place to discuss AOLserver/Tcl performance/profiling/memory/threads....

2003-07-01 Thread Jerry Asher
One of the more popular topics of conversation appears to be how
does one analyze or debug memory issues.  And this raises all
sorts of questions about versions of Tcl, how AOLserver gets
things done, multithreaded Tcl, etc.
It would be great if we could capture this information in a more
permanent fashion than in the archives of this mailing list.
Perhaps the Panoptic Wiki, or a section of aolserver.com could be
the place for this
Any thoughts?

Jerry

--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.


Re: [AOLSERVER] [ aolserver-Feature Requests-746579 ] Server instance controller process

2003-06-06 Thread Jerry Asher
Scott Goodwin wrote:

My vote is to put it in.

/s.


I agree completely.  Feature: it is backwards and forward
compatible with existing scripts AND it will make AOLserver
implementation easier for newcomers by eliminating one more piece
of the puzzle.
Jerry

--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list: http://www.aolserver.com/listserv.html
List information and options: http://listserv.aol.com/


Re: [AOLSERVER] [ aolserver-Feature Requests-746579 ] Server instance

2003-06-06 Thread Jerry Asher
Zoran Vasiljevic wrote:

On Friday 06 June 2003 10:29, you wrote:

>But maybe it's simpler and more reliable just to put in a bare
>bones http get implementation
For people using aolserver as http-server, well, ok.
But there are others, not necessarily employing it
as http-server at all. I think in order to have a
general solution, one should at least allow some
limited scripting capabilites for the watchdog, if
need be. On the other side, having the watchdog
as simple is possible is equaly (if not more) important.
It's my perception that several AOLserver problems have been due
to underlying problems with Tcl.  I would want the parent process
to be (almost) provably correct and if there is a problem, I
would want it to be easy to find with inspection.
To support the non-http users (of which I am one from time to
time), I'd prefer to see a plug-in architecture similar to the db
and comm modules.  Support http-get-monitoring with a plug in and
let others develop their own X-Y-monitoring with plug ins of
their own.
Leave Tcl out of the parent and we can be assured the parent is
still robust and invariant to new versions of Tcl.
Jerry

--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list: http://www.aolserver.com/listserv.html
List information and options: http://listserv.aol.com/


Re: [AOLSERVER] [ aolserver-Feature Requests-746579 ] Server instance

2003-06-06 Thread Jerry Asher
Zoran Vasiljevic wrote:

On Friday 06 June 2003 09:50, you wrote:

>At the risk of adding complexity to the parent process, I
>wouldn't mind seeing such a monitoring facility added to the
>parent process.
That implies, the parent (watchdog) should have at least one
thread with the instantiated Tcl interp with ns_* command
set loaded, right?
We can put some ns/server/watchdog section and fill in
some variables there, one of whoch could point to a file
with Tcl procs to run for checking.
Sort of that, hm... ?

Zoran
Not necessarily.  Maybe.  It would be nice to be able to use Tcl
to communicate and implement parent process modules and functions.
But maybe it's simpler and more reliable just to put in a bare
bones http get implementation
Jerry

--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list: http://www.aolserver.com/listserv.html
List information and options: http://listserv.aol.com/


Re: [AOLSERVER] [ aolserver-Feature Requests-746579 ] Server instance

2003-06-06 Thread Jerry Asher
Indeed they are not. I'd add some more confusion by extending
the second to "Are you *correctly* answering requests?"
So, the solution window may vary between a very simple dumb one
"Are you still running?" to some AI-based custom behaviour, which
is, by it's very nature, hard (if possible at all) to properly
generalize.
Now, reality is: there is *none* of the above in nsd as-is now!


I have been able to make do quite adequately with the ACS
suggested monitoring mechanism, which basically just ns_httpgets
a list of URLs and expected results and compares the actual
results with the expected results and restarts AOLserver on failure.
I use a very simple static page to test if basic request
processing is working, and then a very simple page involving a db
query to determine if the db is up and their is connectivity
between the db and aolserver.
At the risk of adding complexity to the parent process, I
wouldn't mind seeing such a monitoring facility added to the
parent process.
Jerry

--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list: http://www.aolserver.com/listserv.html
List information and options: http://listserv.aol.com/


Re: [AOLSERVER] Ns_GetVersion(&major, &minor, &patch) ??

2003-03-12 Thread Jerry Asher
I wonder if Ns_TclGetVersion would be less confusing and more consistent
with other Ns_Tcl... function (such as Ns_TclGetLibrary()).
Jerry

Zoran Vasiljevic wrote:

At the moment, we have Ns_InfoServerVersion(void)
which returns a char * with the version string.
I would need a better (i.e. simpler) implementation,
like Tcl_GetVersion() for example, which
returns the major/minor/patch version numbers.
This is  far more easier to handle programatically.
I need this in order to make run-time decisions
about the running server from within the C-code.
Are there any major obstacles why we would not
implement this one in standard AOLserver API?
I'm still not certain about the name but it should
look like:
void Ns_GetVersion(int *major, int *minor, int *patch)

Cheers,
Zoran


I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


Re: [AOLSERVER] ns_vhr command not working from a .tcl script for me

2003-03-10 Thread Jerry Asher
madhusudhanarao sunkara wrote:

hi,

  i am trying to give  web interface for ns_vhr command, so that i can add
,delete
get virtual hosts at runtime .
for this i had written a small tcl file that contains only ns_vhr update
command
. i can not run it on slave server since it doesn't have ns_vhr module
loaded.(i got the error message unknown command when i tried it  earlier)
so i tried it to run on master server . surprisingly (for me) it is not
serving pages although i configured the master config file for  web page
root and several sections  to deal with adp and tcl pages. can't we serve
tcl/adp pages from
master server in this situation...
master server root   is at /web/master/ and www contains index.adp,
index.tcl ,test.tcl(it contains the command )
Yes, as I recall you're right about that.  The nsvhr module master
complete takes over the entire urlspace in the master so you cannot
serve pages (apart from errors) from the master.  I think.  You may need
to look at the code or experiment but you may be able to use a
registered proc to server pages.
Apart from that your options are to hack the code and modify nsvhr to
only take over a part of the urlspace, or better, to have the master
register for some urlspace that it will serve.
Jerry



Madhu Sudhana Rao



> From: Jerry Asher
> Reply-To: AOLserver Discussion
> To: [EMAIL PROTECTED]
> Subject: Re: [AOLSERVER] ns_vhr command not working from a .tcl script
> for
> me
> Date: Wed, 5 Mar 2003 09:04:29 -0800
>
> madhusudhanarao sunkara wrote:
>
>> hi,
>>
>> ns_vhr command is not working for me, when it is embedded in .tcl
script
>> the server is responding with error something like
>>   invalid command name ns_vhr update ..
>> but when i tried it with nscp it is working . is it restricted for
>> server control port  admin ..
>> what changes shall i make to my tcl script to work
>
>
> This is surprising to me, but then I am not sure I ever used it from
> anything other than the nscp command line.  I love the nscp command
> line.  (Back when I was a kid, we had to wget | cat all of our web
> pages.)
>
> I haven't looked at this code in more than a year, and, I am trying not
> to use it now in fact.  I don't have time to look at it now.
>
> A first glance at the code itself, and I don't see anything that should
> restrict it to just the control port.  Also, "invalid command" does not
> appear in the code, although "unknown command" does.
>
> Best of luck, I am interested in knowing what you find out.
>
>
> Jerry
>


I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


Re: [AOLSERVER] ns_vhr command not working from a .tcl script for me

2003-03-05 Thread Jerry Asher
madhusudhanarao sunkara wrote:

hi,

ns_vhr command is not working for me, when it is embedded in .tcl script
the server is responding with error something like
  invalid command name ns_vhr update ..
but when i tried it with nscp it is working . is it restricted for
server control port  admin ..
what changes shall i make to my tcl script to work
This is surprising to me, but then I am not sure I ever used it from
anything other than the nscp command line.  I love the nscp command
line.  (Back when I was a kid, we had to wget | cat all of our web
pages.)
I haven't looked at this code in more than a year, and, I am trying not
to use it now in fact.  I don't have time to look at it now.
A first glance at the code itself, and I don't see anything that should
restrict it to just the control port.  Also, "invalid command" does not
appear in the code, although "unknown command" does.
Best of luck, I am interested in knowing what you find out.

Jerry



I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


[AOLSERVER] virtual hosting options and a fantasy ....

2003-03-04 Thread Jerry Asher
hod of just piping each byte through
an intermediate proxy, to a much more interesting and scalable
across many machines method of screwing around with the underlying
TCP packets' routing so that on a network wide basis,
webserver responses respond directly to the client browser and no
longer need to get piped back through the intermediate proxy.
  (That's sort of like the nsunix trick, done through routing,
   and so applicable to very large sites.)
What is the old saying about slicker than shit through a goose?
I mean, um, that's really cool.  If it really works, I know, I just
know that we would all be walking around with groupies on our
elbows.
I'd love to see various AOLserver modules, documentation, admin pages,
dbs set up to cooperate well with the Linux Virtual Server.  We'll never
displace Apache, but if we had a highly available, highly scalable
server, I think we could get some interesting press and projects coming
our way.
Jerry





Tomasz Kosiak wrote:

You may take a look at my proposal to the virtual hosting solution. So far
this is only proposal and I dont't know if it would be incorporated into
core. I've got working copy of 3.5.1 with those patches, indeed I reviewed
them one more time and going to preprare a distro including them. You can
take a look at older AOLserver version that we use in production for over
a year (at http://miniacs.zjednoczenie.com/snapshot.html). I'm totaly
dedicated to have my modification included into core. Now they are kept as
separate patches which are applied to standard AOLserver distribution.
Yesterday I've fixed also additional modules to work with my proposal.
They expose new commands or options to handle AOLserver urlspace in single
server.
ns_register_filter ?-vserver vserver? when method url adp ?arg?
ns_register_proc ?-noinherit? ?-vserver vserver? method url proc ?arg?
ns_register_adp ?-noinherit? ?-vserver vserver? method url adp ?arg?
ns_register_proxy ?-noinherit? ?-vserver vserver? method url proxyURL
?arg?
ns_url2file ?-vserver vserver? url
ns_url2file_map ?-noinherit? ?-vserver vserver? url path ?arg?
ns_url2file_map ?-vserver vserver? url
ns_register_adp is already included in AS 4.x - it works like
ns_register_proc but for adp srcipts.
ns_register_proxy is to allow to proxy part of or whore urlspace to
another httpserver using nsvhr mechanisms. With ns_vserver command it is a
generalised nsvhr command implemented by Jerry Asher.
ns_url2file_* allows to file and handle directory aliases. It is based on
example from old AOLserver C manual and expose TCL interface to it:
http://www.tcl.tk/man/aolserver3.0/c-app2.htm
You can map individual url to file with

ns_url2file_map -noinherit url file arg

or alias url prefix to directory with

ns_url2file_map urlprefix dir arg

With ns_url2file_arg url you can retrive the argument.

Of course these command are vserver-aware and accept -vserver switch.

--tkosiak

Here is response from Nathan Folkman  appropos my
proposal:
Thanks! I'll put it on the Core Team agenda for next week's meeting.
This week's meeting is already booked with bug scrubbing. I'll keep you
posted.
- Nathan

-- Forwarded message --
Date: Mon, 3 Mar 2003 18:46:15 +0100 (CET)
From: Tomasz Kosiak
To: Nathan Folkman
Subject: vservers
I've got a implementation of virtual host support for AOLserver. When
compared with AS 4.x vservers it is complementary approach. It allows to
define separate filter/urlspace in one AS 4.x server. It means that tcl
code base and conn threads are shared in my approach.
Some time ago I've presented this to Jim Davidson. He has said that he
will present it to AOLserver Core Team. I wonder if you reveived my
proposal (copy is in attachement).
What do you think about it?

--tkosiak




I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


Re: [AOLSERVER] nsvhr API to manipulate mappings on the fly?

2003-03-03 Thread Jerry Asher
Tilmann Singer wrote:

Yes, I haven't played with this in over a year, but you can find it here:

http://www.theashergroup.com/download/

aolserver3.3-vhr.patch v.6

Adds ns_vhr command to examine nsvhr configuration at runtime, and to
add or delete vhr hosts at runtime. These patches also better support
legacy HTTP/1.0 clients that do not pass a Host field, and close various
memory leaks. This patch set includes all of the above AOLserver3Patches.
I have done no work to getting this to work with 3.5.  (IIRC, I think I
was a bit surprised 3.5 came out, prior to that I was thinking it was
just going to 4.0 which did inline virtual hosting.)
Jerry

Hi,

I remember once reading that someone (Jerry?) wrote an API that allows
to manipulate the nsvhr virtual hosting mappings during runtime so
that the changes would take effect immediately, without a restart.
I can't seem to find any references to this anymore - does it still
exist? If yes, in which version (I'm currently using 3.3+ad13 and soon
propably 3.5)?
TIA, til



I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


Re: [AOLSERVER] Root-server switches from BIND to NSD.

2003-02-25 Thread Jerry Asher
Dossy wrote:

On 2003.02.25, Jerry Asher  wrote:

>The nsd in this case is not the naviserver daemon we all enjoy but a
>nameserver daemon written at "NLnet Labs in cooperation with RIPE."
Should we add to the confusion and start coding up an nsdns module so
one could use AOLserver to serve DNS?  :-)
Imagine the additional confusion and flames regarding security when we
announce our new version is based on nsd 8.
Jerry



I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


[AOLSERVER] Root-server switches from BIND to NSD.

2003-02-25 Thread Jerry Asher
http://slashdot.org/comments.pl?sid=55040&threshold=-1&commentsort=3&tid=185&mode=thread&pid=5379648

Well this isn't really as true or good as I wish it was.

The nsd in this case is not the naviserver daemon we all enjoy but a
nameserver daemon written at "NLnet Labs in cooperation with RIPE."
http://www.nlnetlabs.nl/nsd/index.html

They say, "NSD is an authoratative only, high performance, simple and
open source name server."
And they're not using tinydns either, although if you look at the first
few slides in their presentation, the slides look as though they may
have come directly from tiny documentation!
http://www.ripe.net/ripe/meetings/archive/ripe-42/presentations/ripe42-dns-aons/

Hmmmph!



Jerry



I. To remove yourself from this list:

Send a message to "[EMAIL PROTECTED]"  with the following text in
the BODY of your message:
signoff aolserver

II. For a complete list of listserv options please visit:

http://listserv.aol.com/

III. For more AOLserver information please visit:

http://www.aolserver.com/


Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-12 Thread Jerry Asher
Rob Mayoff wrote:


+-- On Feb 12, Jerry Asher said:

>At any rate, I had thought we were talking about, for the most part,
>rare occasions when new threads are created.


I thought we were talking about checking SP every time something (like
a stack frame) is pushed onto the stack. That means you have to know
the limit for SP every time you push a stack frame. The limit depends
on which stack you're using, which in turn depends on which thread is
executing. So you can either store the limits in TLS, or in a global
table which you search using the current SP as the key.


See that's the problem with long threads.  We should probably just
declare hitler and get on with our work.  My crawling back up *this
thread's stack* leads me to believe stack creation and allocation was
the problem.

I would think that if I am really pushing a stack frame onto a stack,
then I presumably have to know where the base of the stack is and the
top of stack.  If I know where the base of the stack is, I should be
able to lookup what the max stack size is?  However you store the base
and the top, can be the same place/same mechanism to store the size?
And so it should take just a bit more arithmetic on a stack frame push
to check the stack limits

I once read that Goering coded it up as follows:

struct stack {
ulong maxsize;
void *top;
long base;
}

I'll let you determine how Ms. Braun, herself coded the stack frame push
itself as an exercise, or we can leave it here.

Jerry



Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-12 Thread Jerry Asher

>If as a thread, I ask for a new thread to be created and hence a new
>stack, I would guess (but I don't know) that the base for all stack
>pointers are stored in some global, locked, table, along perhaps with
>the limits of the stack which are either stored in that table, or
>local to the stack itself.


Suppose it is. Now you've got to locate the table - which, unless you're
willing to limit the number of simultaneous threads, must be able to
grow and therefore cannot be at a fixed address. Once you've located
the table, you've got to search it using the current SP as the search
key. Maybe you do it by binary search; maybe you do it by hashing the
high bits of SP. Whichever way you choose, I think it's going to require
several instructions.



Well the base of the table has to be at a fixed address, but it could be
a linked pointer.  Or since growing it is presumably rare, it could be a
table that grows and when it does grow threads are momentarily blocked
from using it.  No telling what the performance impacts are

At any rate, I had thought we were talking about, for the most part,
rare occasions when new threads are created.  If so, then taking a few
instructions or a loop to determine where the new stack can go seems
like it could be reasonable.

> Note that each time you create a stack from (or otherwise dynamically
> extend the stack), you need to compare the SP to a thread-specific
> limit, which means using TLS.

So using TLS storage appears to be an optimization (and in the case of
creating new stacks, and figuring out where they can go, a not terribly
profitable optimization) but not a requirement.

Thanks for your explanation.  The truth is in the details.  I can
clearly see architectures that permit all sorts of stuff but again, who
knows which will have sucky behavior or not.

Oh for Multics and being able to just ask for a new 2g segment at will.
 Alas.

Jerry



Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-12 Thread Jerry Asher
Rob Mayoff wrote:



Note that each time you create a stack from (or otherwise dynamically
extend the stack), you need to compare the SP to a thread-specific
limit, which means using TLS. I'm not sure how long Linux (for example)
has supported TLS, and I'm pretty sure that its support has changed over
time, so checking SP is not necessarily trivial.



Thanks Rob,

I am trying to understand where the thread-specific limit is involved
but I can't.

If as a thread, I ask for a new thread to be created and hence a new
stack, I would guess (but I don't know) that the base for all stack
pointers are stored in some global, locked, table, along perhaps with
the limits of the stack which are either stored in that table, or local
to the stack itself.   I mean, clearly the memory allocater knows where
it allocated the stacks...?

Then if I as a compiler, need to push a new stack frame on the stack, I
would think the stack limits are easily accessible in either the global
stack table, or the local to the specific stack area.  My first thoughts
are that the amount to push onto the stack is known by the compiler and
are thread invariant.

So I am sure my guesses are off the mark, but where?

pleh?


Jerry

P.S.  Again, I'll ignore extending the stack.  I am sorry I brought that
up in the first place since I think the most important thing is to just
protect the stacks and detect overflow.  I suspect stack extension is
treatable, once stack overflow can be reliably detected, but the
argument confuse me and make by brain hurt.



Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-11 Thread Jerry Asher
I'll do the easy but ugly top posting thing

I understand your model, and as usual you have explained your model very
clearly.  But I think there are some assumptions in your model that need
to be addressed.

Your argument is basically that it's hard to allocate multiple stacks in
a single address space environment.  I agree with that.  But that's not
the problem.  The problem I think is detecting stack overflows in the
first place.

Your model appears to be based on a MC68000 architecture, with no memory
management unit.  One flat address space for everyone to play in.  And
perhaps as an implementation goal of Tcl, this is the model they choose
to program to.  I can certainly understand that.  It's simple, easy to
debug -- compelling.  And yes, much of the world of C/Unix was developed
for such a flat space processor.

But there is no real need for multi-threaded programs to only have a
single address space.  I think we all want the multiple threads to be
able to access any of the structures or code with another thread, but
that still doesn't require a single address space.

But again, the problem is not allocation of stacks, but detection of
stack overflow.

Yeah, Multics and the 80x86 had segments.  Multics was great, it had
paged segments.  So I would bet if one could write to a segmented
architecture, it would be natural to place each stack in its own
segment, and let the mmu detect stack overflows.  And yeah, in the early
smaller intels, we all got annoyed with having to load up various
registers with appropriate segment pointers to differentiate code and data.

Even in a flat architecture, in a machine with an mmu, all of this ill
memory access should be detectable.  As I mentioned on the DEC-10, and I
am pretty sure on VAX/VMS you could arbitrarily protect specific pages
against writes AND reads.  Any thread trying to read or write into a
page generates a fault.  I would think it would be a good idea to
separate each of those stack frames with a one or more protected pages.
   It might not solve the problem of one thread still corrupting
another thread's memory or stack, but assuming a page was larger than
several stack frames, it would certainly catch most typical stack
overflows.  Wouldn't it?  (Do mmus only care about interprocess access
and cannot catch intraprocess accesses?)

But again, maybe I'm missing something here.  When I was writing
compilers for some small functional languages, I knew, or rather the
compiler knew at every subroutine push, just how large the new stack
frame had to be.  It would seem to be pretty easy math, and not too
harsh of an efficiency hit to have the compiler/interpreter check
available stack size at each function entry.  And at runtime if knew
variables are consed onto the stack, again it should be simple during
initial allocation of the variable by an interpreter to check the stack
size.

So what am I missing?  I still don't understand why it isn't relatively
easy to know when the stack is exhausted.

Forget stack extension.  I will be happy with a known error returning to
the programmer: stack overflow.  We could catch that one.  We don't even
get that.  We get:  game over dude,
segv.  That's unsafe!

I would bet that if one can detect stack overflows reliably, then one
can also implement an algorithm to safely extend the stack.  It might
have other performance impacts though.

To sum up, I still do not see any technical reason for not being able to
detect stack overflow other than management goals in the implementation
of Tcl and the one possibly technical goal of trading off a level of
safety vs. a level  of performance.

But hell, I know little about this, so please do clue me in.


Jerry

Rob Mayoff wrote:


+-- On Feb 11, Jerry Asher said:

>Are you really saying you cannot imagine how in a multithreaded
>environment one can automatically and efficiently extend the stack?


Depends on what you mean by "extend the stack".

A single-threaded program has a heap and a stack in a single address
space.  We put the heap at the bottom and the stack at the top and let
them grow towards each other.  Obviously this allows each the maximum
room for growth; we don't have to put a fixed division point into the
address space.

If the stack grows down into a page that the heap wasn't already using,
the OS can detect that and simply map physical memory to that part of
the program's address space. This form of "extending the stack" is easy.

Now, in a program with N threads, we have a heap and N stacks in a
single address space. We must create N-1 divisions in the address space.
(We could get away with floor((N-1)/2) divisions if we let half the
stacks grow towards lower addresses and the other half grow towards
higher addresses, but we'd still need O(N) divisions and the code would
be messy.) The heap and one stack can share one part of the address
space,

Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-11 Thread Jerry Asher
Rob Mayoff wrote:


+-- On Feb 11, Jerry Asher said:

>Sigh, that must've been some sort of computing golden age  Oh for
>the renaissance!

Yep, the golden age - before multithreaded programming.


I don't believe that's true, in large part because at the time I was
doing multithreading on minis that only had threads and didn't have
processes (Honeywell Level 6).  (Level 6 referred to how much HBD was
involved.)  But I cannot say that these machines made stack extension
easy or possible.  (And I am pretty sure the Lisp Machine had threads,
stacks, and either automatic stack extension, OR at least detected all
stack overruns, but I don't know for sure.)  How did/does Ada accomplish
this?

Are you really saying you cannot imagine how in a multithreaded
environment one can automatically and efficiently extend the stack? So
we can expect multithreaded programs to suffer from obscure memory
overruns, rather than fail with a known error?

Jeez, you make a very curious argument against multithreaded
programming.  Safety.  Mine, yours, and the other folks in our airplane.

(Maybe this explains the Navy destroyer running NT that needed the tow
back to port.)

On the otherhand, I cannot imagine using Tcl in such an environment
either -- my Tcl at least does suffer the runtime detection of a missing
$ (but that really wasn't the argument you made -- not that automatic
stack extension was not efficient for Tcl or useful for Tcl given Tcl's
usage, but that it wasn't possible in a world of multithreaded programming.)

I suspect you're wrong.  I hope so.

Jerry



Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-11 Thread Jerry Asher
Andrew Piskorski wrote:


On Tue, Feb 11, 2003 at 02:40:11AM -0800, Jeff Hobbs wrote:

>I added that warning in myself after getting enough reports.  I narrowed
>the size to 2400K to match the default Tcl eval stack recursion limit of
>1000.  I think 4M is more than you need, 1M will likely do it, and 2400K
>covers all the bases.


Jeff, for those of us not especially familiar with the Tcl internals,
could you give or point us to a basic explanation of how and why Tcl
uses the C stack, as opposed to being "stackless"?  (A Google search
for "stackless Tcl" turns up some interesting links, but doesn't seem
to really answer this question.)


Not to whine, but I think I was using the DEC-10 in 1979 when I first
encountered stacks that would grow themselves as appropriate.  I think
the technique then was to place the top of the stack against a protected
page of memory.  When the stack overflowed, the protected page was
accessed and an error handler caught the error and extended the stack.
Thus any error was NOT death by mysterious data overrun, but was instead
an understandable abs. max stack size had been exceeded.

Sigh, that must've been some sort of computing golden age  Oh for
the renaissance!


Jerry



Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-11 Thread Jerry Asher
  Jeff Hobbs The Tcl Guy
  Senior Developer   http://www.ActiveState.com/
  Tcl Support and Productivity Solutions


That's interesting.  My copy of stack.test doesn't include anything like
that.  The openacs lore has been that 500K has been the appropriate
stacksize.  I have increased it to 4M.  Let's see what happens.

Thanks,


Jerry



Re: [AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-11 Thread Jerry Asher
Brian Fenton wrote:


What's your stacksize? Try increasing it.

Brian



Yeah, I've done that one.  It's currently 500K.

???

Jerry



[AOLSERVER] aolserver 3.3ad13 on RedHat 8.0

2003-02-11 Thread Jerry Asher
I am consistently (a few times a day) receiving a segv in an AOLserver
installation.

I am using AOLserver3.3ad13 as downloaded from openacs.org and RedHat 8.0.

The segv comes in cache.c when it is in a page hit many many times each
day.  Somehow the cache structure has become corrupted.

I have never seen this before.  Anyone else seen it?

Wild ass guess, could this be a RH8.0 problem?

Thanks,


Jerry



Re: [AOLSERVER] Offtopic dumb security policy example, at um, aol

2003-01-27 Thread Jerry Asher
Dossy wrote:


On 2003.01.27, Jerry Asher  wrote:

>I was very surprised to find a new message, A CONFIRMATION MESSAGE, in
>that alternative email address's mailbox.  I've attached it below.
>
>Jeez!  Just what is this confirming?


Think:

Someone creates a Netscape mail account.  They sign themselves up for a
whole slew of mailing lists, acknowledging the subscription
confirmations.

Then, they point the alternative email address at someone they dislike.

Now, this poor sod is stuck receiving a whole boatload of email they
didn't sign up for, from lists they probably don't know how to
unsubscribe from ...

Confirming that alternative email address should, presumably, stop this
potential abuse.  The target sod just refuses to acknowledge the
confirmation, and that should stop the process right there ...

-- Dossy


Sure that keeps the new email address from being screwed up, but at the
risk of hijacking someone's email away from them.

So I figure out Dossy's aolscreen name, I cons together your daughters
name and guess your password, and then I get to steal your email.

If I am getting email I don't want I do have someways of tracking it
down and stopping it.  If your email just stops one day and you don't
realize it for a day, or a week, what are you going to do?  How will you
ever fix that?

Again, anyone have the aol email addresses for the folks on mahogany row?

Jerry



[AOLSERVER] Offtopic dumb security policy example, at um, aol

2003-01-27 Thread Jerry Asher
I decided to use a very old netscape mail account to send an anonymous
anthrax warning (kidding).  This is now run by aol.  Anyway, I did
appropriate things, found the account, logged in, and visited the
options/preferences and changed the "alternative email" address from an
address at an ISP that hasn't existed for about three years to a new and
improved (with enzymes!) address.

I was very surprised to find a new message, A CONFIRMATION MESSAGE, in
that alternative email address's mailbox.  I've attached it below.

Jeez!  Just what is this confirming?


Jerry

P.S.  On an unrelated note, does anyone have Steve Case's email address?
 I um, would like to find it before he loses fiduciary powers.

Screen Name Service wrote:


Dear jerryasher,

Reply to this e-mail to confirm your e-mail address change from
[EMAIL PROTECTED] to [EMAIL PROTECTED]

In the reply, type 'OK'.

Please send your confirmation within 72 hours.

The e-mail address change will be made for the following screen name:

   jerryasher



Re: [AOLSERVER] Is Aolserver vulnerable?

2003-01-22 Thread Jerry Asher
Scott Goodwin wrote:


have the source code.

We use AOLserver for EMIS, which is not vulnerable. I've added extra
checking to the EMIS request processor 5 minutes ago to log any attempts
to use HTTP methods that we don't accept so we can identify attempts to
use TRACE. Here's the piece of code I added to do that:

if {! [regexp -nocase {get|post|head} $http_method]} {
   ns_log warning "BAD HTTP METHOD: $http_method from $peer_addr: HTTP
REQ=$request"
   ns_return 403 text/html [ns_adp_parse -file
/emis/pages/errors/errorframe.adp 403]
   return filter_return
} else {
   ns_log notice "$http_method request for $request from $peer_addr"
}


This is a good idea.

You may wish to change this to return a TRACE specific error message
that mentions this exploit.  That way the user will be alerted to
dubious activity on his machine.

Jerry



Re: [AOLSERVER] Is Aolserver vulnerable?

2003-01-22 Thread Jerry Asher
Below you can see that Apache 2.0 (RH 8) does echo back all the headers
that you send to it with your TRACE command.

And rereading the RFC, I gather that is just what it should be doing.

According to the whitepaper then

The exploit then is one that allows a client side script to read
information (cookies for now) that are already in the client but that
are supposed to be hidden from the script.  The script uses some
technology within the browser to generate its own HTTP request.  The
browser goes along with the game and fills in the cookie information
that should be hidden.  The script sends the request and gets to read
the response.  Since the request is a TRACE, the response includes the
hidden cookie information.

It goes away entirely if the server doesn't implement TRACE.  It will
not cause cross site leakage unless your browser already has a cross
site leakage bug in it.  IE currently does.  Other browsers may or may
not have bugs.  When will you be secure that your browser has none of
these bugs?

If your browser has a cross site scripting bug, if you visit multiple
websites with trace on, you can have a cross site scripting exploit.  So
the short term fix for YOU the webuser is to have your proxy remove all
TRACE requests.  Let's give that one an unlikely tag.

The news article claims that Apache needs a patch and can't just be
configured to not implement TRACE.  Does anyone know if that is so?


Jerry



KRUSTY$ telnet homer.theashergroup.com 16040
Trying 192.168.0.32...
Connected to homer.theashergroup.com.
Escape character is '^]'.
TRACE / HTTP/1.1
HOST: homer.theashergroup.com
COOKIE: foo=bar

HTTP/1.1 200 OK
Date: Wed, 22 Jan 2003 22:35:26 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Content-Length: 68
Content-Type: message/http

TRACE / HTTP/1.1
HOST: homer.theashergroup.com
COOKIE: foo=bar

Connection closed by foreign host.
KRUSTY$



Re: [AOLSERVER] Is Aolserver vulnerable?

2003-01-22 Thread Jerry Asher
Jade Rubick wrote:


Does Aolserver implement the TRACE command?

http://www.extremetech.com/article2/0,3973,841047,00.asp


Here's what RFC 2616 says about TRACE.  This is just about all it says
about TRACE.  The other mentions are about issues that couldn't cause an
exploit:

http://www.ietf.org/rfc/rfc2616.txt

9.8 TRACE

   The TRACE method is used to invoke a remote, application-layer loop-
   back of the request message. The final recipient of the request
   SHOULD reflect the message received back to the client as the
   entity-body of a 200 (OK) response. The final recipient is either the
   origin server or the first proxy or gateway to receive a Max-Forwards
   value of zero (0) in the request (see section 14.31). A TRACE request
   MUST NOT include an entity.

   TRACE allows the client to see what is being received at the other
   end of the request chain and use that data for testing or diagnostic
   information. The value of the Via header field (section 14.45) is of
   particular interest, since it acts as a trace of the request chain.
   Use of the Max-Forwards header field allows the client to limit the
   length of the request chain, which is useful for testing a chain of
   proxies forwarding messages in an infinite loop.

   If the request is valid, the response SHOULD contain the entire
   request message in the entity-body, with a Content-Type of
   "message/http". Responses to this method MUST NOT be cached.

I am printing out WhiteHat's WhitePaper now (on my own highly patented
WritePaper (TM)):
http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf.

But this is exploit is evidently related to cross site scripting.

Anyway, my own initial thoughts are that I am thinking the problem is
not reflecting back the messages, but including all the cookies and
headers in the message.  If so, there is nothing in the RFC that I can
see that suggests an HTTP 1.1 server needs to send anything other than a
200 header.  The VIA header IS an information leak, but if I recall from
the past, lots of actual proxies don't implement that header anyway
 And it would be a reasonable thing to do to NOT implement it.

If the problem is sending anything at all and not just the headers, well
I confess thinking: Wow.  Cool.  Bad.

Jerry



Re: [AOLSERVER] using aolserver for mail

2002-11-19 Thread Jerry Asher
Peter M. Jansson writes:


Unless all 256 emails are going to the same box, and you are the horrified
sysadmin of that box watching qmail crush you with incoming traffic.



The out-of-the-box config of qmail is definitely faster than the
out-of-the-box config of sendmail, but if you add queues to sendmail, it
can push as many simultaneous messages as you want, and it can push them
faster than qmail can.


1.  Klez, Klez, Klez, Klez, Klezzy Klez, wonderful klez!
2.  FIRST, I MUST SOLICIT YOUR STRICTEST CONFIDENCE IN THIS TRANSACTION
3.  And while they are pushing those emails, my friend is
  sitting in a bathtub full of ice, trying to call the cops
4.  Urgent: the FCC is about to impose a modem tax
5.  How Make a FORTUNE on the Information Superhighway -
  by Laurence A. Canter and Martha Siegel, from HarperCollins 1994.

Hmm, is there anyway we can slow down qmail and sendmail?


Jerry



Re: [AOLSERVER] using aolserver for mail

2002-11-18 Thread Jerry Asher
Gabriel Ricard writes:


Ok, this may be a totally crazy idea that's completely unnecessary, but here
it goes:

I want to have a high performance mail server that's easy to configure for
use in our system at work.



Now, thinking about it,
that's exactly what AOLServer does for HTTP traffic, so why can't I use
AOLServer for  my SMTP traffic as well?


For a dismal experience, check out all the hatred and flames that occur on
the MTA (qmail, sendmail, postfix, ...) developer lists.

Writing an MTA is very hard.  You have to make it reliable, secure, easy to
configure, and fast.  Sendmail has been around for something like 20 years
now?  How many thousands of man years?  Qmail has been around since 95-97
and benefited both from having been written by a coder-savant, but also from
being able to learn from sendmail's failures.  And postfix benefited by
looking at qmail and sendmail.

My suggestion is to make AOLserver more of a partner with either qmail or
postfix than it is right now.  Let the MTA developers do what they do
best

Jerry


Jerry



[AOLSERVER] Tabs, Spacers, 20-30 years ago, ACID, rec.drugs.?

2002-11-12 Thread Jerry Asher
Since I only piped in once (and you all have directions on how to pipe
me to /dev/null now), here's my one real desire, which near as I can
tell, AOLserver does a wonderful job of.

I live in a dead trees world, sigh, and until I can get 600 dpi
resolution on a screen with no glare that I can draw circles on and
underline, well  And there are many times when I have to print
code out and then take that code into an isolation tank to ponder over.

Tabs, no tabs, ... as long as it is readable, and mainly, as long as
I can print the code out, on one page.

For me this means lines that have been wrapped by the author at 70-80
columns, and then indented on the next line at some semi-reasonable
and consistent place.

AOLserver is great about this.  ArsDigita Tcl was absolutely terrible about
this.  Jeez I hated looking at aD Tcl pages.  Pages developed on 21"
monitors at their highest resolution without a care for maintenance.


Jerry



Re: [AOLSERVER] Emacs indents for tcl and C

2002-11-10 Thread Jerry Asher
On 2002.11.10, Jerry Asher <[EMAIL PROTECTED]> wrote:


I love emacs. Long live emacs. I hate emacs though. What I hate is that from
the behavior I've seen, apparently at MIT it's considered that a fast way
for a frosh to get noticed by Richard Stallman is to change a well
known API, and then to change all keybindings to make use of the new
paradigm. I swear, every two years all my emacs customizations break.
Gratuitously.


A good portion of programming speed comes from muscle memory of the
environment, so that the brain is free to think about the code at hand,
not how to key it in.

As you say, this is why emacs sucks and vi still rules.  ;-)


Hey!  I didn't say that.  Grrr.  Thanks for the explanation of the
tabs, but you don't have to get nasty.  (I've been using emacs now for
probably 21 years, back when they were Editor Macros for Teco, and
replacing VTEDIT (on VMS and TOPS-10, then found emacs on Multics,
then on the Symbolics, oh boy, am I a user of obsolete systems!)

$$

Jerry



Re: [AOLSERVER] Emacs indents for tcl and C

2002-11-10 Thread Jerry Asher
Dossy writes:


On 2002.11.10, Andrew Piskorski <[EMAIL PROTECTED]> wrote:

Of course, I've never run across anyone who really WANTED to use tabs
rather than spaces, just people who did it that way by accident
without thinking, because it's the Emacs default.


Guess you've never met me, then.  ;-)

-- Dossy


But I'd certainly like to.  I'm not going to ask you a major religious
question about why MySQL when you could be using ...X, but okay,
please forgive my asking a minor religious question  Why tabs?

Jerry



Re: [AOLSERVER] Emacs indents for tcl and C

2002-11-10 Thread Jerry Asher
Tom Jackson writes:


Thanks for your help. I always feel real annoyed at myself when I start
editing code I wrote in Xemacs in vi.


Shudder.


I wonder why emacs and Xemacs use tabs at all, given the advice of most
coding standards on using spaces.


Yes I agree. A tab is a legit character, so I can see why someone making an
editor would want to support it. What's more fun (or not) is meeting up
with someone on a project that insists on using tabs in their code.

I love emacs. Long live emacs. I hate emacs though. What I hate is that from
the behavior I've seen, apparently at MIT it's considered that a fast way
for a frosh to get noticed by Richard Stallman is to change a well
known API, and then to change all keybindings to make use of the new
paradigm. I swear, every two years all my emacs customizations break.
Gratuitously.

Jerry



Re: [AOLSERVER] Emacs indents for tcl and C

2002-11-09 Thread Jerry Asher
Tom Jackson writes:


I'm trying to configure Xemacs to use spaces instead of tabs when auto
indenting source files. The advice given in
http://aolserver.com/docs/devel/tech/standards.html#overall was to add
the following lisp code to my .emacs file:

(add-hook 'c-mode-hook
   (function (lambda ()
   (setq c-basic-offset 4)
   (setq c-indent-level 4

I did this and restarted, but the indents still seem to be tabs.
Is there a way to do this in Xemacs, and can it work for Tcl as well?

--Tom Jackson


Try setting indent-tabs-mode to nil. That works for me in emacs and
for c. I haven't tried it with tcl.

Do you know the difference between xemacs and emacs these days? If so
please tell. So different and so close. The documentation of both
wrt to tabs was identical. Confusing.

Jerry



Re: [AOLSERVER] Other languages

2002-11-08 Thread Jerry Asher
At 08:20 AM 11/8/2002, you wrote:
>On Fri, Nov 08, 2002 at 04:33:41AM -0500, Nathan Folkman wrote:
>
>> I hope to continue to see people stepping up to support different languages:
>> Tcl, Perl, Python, Java, PHP, etc. If there server is well designed, and
>> things are abstracted correctly, then there would be no reason not to support
>> as many languages as possible.
>
>I think of AOLserver as a web application server, not as a general
>web server. In fact, I often use it as a swiss-army knife for networked
>applications. This should be even more interesting when libnsd is out.
>
>-Roberto

I agree with Roberto.

I consider AOLserver to be a web application server, though with the
hijacking of the name by the J2EE crowd, I am not exactly sure what a web
application server is.  But I would like to see more (of something) go into
making AOLserver an even better web application server.

Support for more languages is critical to AOLserver's long term success.
The momentum these days in somewhere in the PHP, Python, J2EE, C# worlds.
If we want to attract the smart developers and if we want to make it easier
to sell into organizations, if we want to compete with these technologies,
then we need some amount of support for more languages.

There is a question of what users want when they want language support.
Do they want:

A)  Apache/Zope/ APIs?
B)  Languages as independent black box modules.  As an example,
support for Gallery (PHP) doesn't imply PHP support
where a PHP module can add registered filters, procs, etc.
C)  Language support as cooperating modules.  My java modules
can easily create/modify data structures available
to my python modules and my tcl modules.
D)  Language support where each language is an equal peer with
Tcl and C.  For each connection perhaps, "I" can decide
whether to attach a Tcl, Python, or Ruby interp to the
thread.  I can develop registered procs and filters in any
language of my choice.

What I mainly want is stability.  It aggrieves me that neither pywx nor php
are considered to be stable.  That leads me to using AOLserver for Tcl, and
using Apache for PHP.

After that, I would like to see (C) cooperating modules as a goal, but would
settle for (B) independent language modules.

I am very curious as to what would make AOLserver an even better application
server than it already is.  These days I suspect a very healthy support for
XML, XML-RPC, and SOAP are way up there.  I suspect the move to using
standard Tcl and therefore support for standard Tcl libraries will go along
way.  But what other things, in what other ways, could AOLserver support
your apps?


Jerry



[AOLSERVER] Googling the AOLserver Documentation

2002-11-04 Thread Jerry Asher
Peter M. Jansson writes:


On Sunday, November 3, 2002, at 02:33 PM, Scott Goodwin wrote:


Documenting multiple commands on the same page ... will confuse the
readers


I disagree; I find, for example, that the traditional AOLserver
documentation including all variants of ns_return on a single page helps
me to better understand the range of responses available.


Yes, I absolutely agree with this.  When inspecting APIs, I always first
want to know, what is the range of possibilities.  I don't get that answer
when the responses are listed only on separate pages.

I suspect too that listing these things on the same page will help us Google
the manual.  I no longer bookmark the doc pages for Tcl or AOLserver, I
google the command and hit the lucky button.  That's a pretty wonderful
thing to be able to do.


Jerry



Re: [AOLSERVER] AOLserver and IP Multicast....

2002-10-11 Thread Jerry Asher
Peter M. Jansson writes:
>Why do you think this is too many to use conventional tcp? Isn't one of
>the reasons we choose AOLserver that it scales?

The crux of my problem is that I don't have the target hardware yet, and it's quite an 
experience leap for me to estimate how many requests per second AOLserver can handle 
on a Sun midframe server for the requests we will be seeing. I believe our systems 
will be capable of performing thousands of requests per second, but how many thousands?

If we have 300 servers and they did something dumb (like our client has 
demanded/requested) and they each heartbeat each other then each has to handle 300 
connections per second just for a heartbeat. And each has to make 300 connections to 
send its heartbeat to the other systems. That might be a considerable chunk of the max 
connections a system might handle, and that doesn't include other messages we may wish 
to pass around involving state information. And none of that includes any of the 
actual client requests.

Now there are various ways we might make this more efficient, but one way that seems 
to stick out is if we can use some form of broadcast or multicast so that one system 
can speak to everyone at a time. This would be very nice for heartbeats (as spec'd by 
the client). It would also seem to make sense for passing state information around as 
long as we can somehow ensure those multicasts are reliable.

By the way, I would love to hear some benchmarks of AOLserver on Sun v100s, v880s, or 
SunFire 6800s.

>You could also consider using DNS to
>propagate the data, with caching servers at various points in the network,
>assuming you feel the traffic would overwhelm a single server.

Can you explain a bit more on how to get DNS to do this?

>I don't think multicast is going to work well with HTTP, though, because
>HTTP pretty much requires data exchange between broadcaster and receiver,
>and multicast pretty much excludes any data from reaching the broadcaster
>from the receiver.

Yes, well I have thought that I would "break" HTTP in the sense that I wouldn't be 
returning any responses back. On the other hand I would love to hijack the request 
processor so that I can operate on a multicasted HTTP get/post. And what I would 
probably do to start out is have each multicast include a sequence number and have 
clients have a reverse request so that they can keep track themselves of which 
messages they didn't receive and ask to have those retransmitted. Yes it's kludgey, 
that's why I would appreciate hearing from anyone that has looked into "reliable ip 
multicasting".

>I'm curious to find out what you learn, though.
>Pete.


I'll be happy to follow up if anything interesting comes along.
Jerry



[AOLSERVER] AOLserver and IP Multicast....

2002-10-11 Thread Jerry Asher

First of all, I know nothing about IP Multicast.  (But I am reading Stevens...)

I have a system with several hundred machines on it and I need to keep each
system updated with various pieces of information including various
heartbeats, pieces of state information.  The machines are all behind our
firewall, but there are so many they do live on different segments of our
net (i.e. there are many routers.)

I believe there are too many systems to use typical tcp/ip unicast
connections, and it strikes me that this may be a good use if broadcast or
ip multicast.

My understanding so far of multicast is that it's not a protocol in and of
itself, it's a technique that we can layer a protocol on top of.

So using my favorite Swiss Army knife, I am thinking of creating an
AOLserver module that can perform http gets or posts using either a
broadcast or ip multicast, and making changes to nssock (or creating a new
module) that enables AOLserver to listen for http requests over broadcast or
ip multicast.

Am I just an ignorant ass or would this be interesting, useful, and
implementable?  (or all of the above?)

Before going to AOLserver, are there any tools already out there that can be
used to make for an efficient information bus using broadcast or ip multicast?

If I do choose to build such a module and create some form of bus on top of
it, what are the pitfalls I should be aware of?

And since I believe that broadcast and ip multicast are UDP and inherently
unreliable, what are the common techniques used to make for a reliable
multicast?  In fact, googling on reliable multicast leads me to a few
commercial products and a CISCO specification of PGM, pragmatic multicast.
Is there a standard reliable multicast protocol that I should look to?

Thanks!

Jerry



Re: [AOLSERVER] php + aolserver (is it stable?)

2002-08-30 Thread Jerry Asher

Whenever I think about php + aolserver, I am struck by what I've seen in
the past.  Comments at the php sites that php + aolserver isn't stable or
ready for production.

Am I confused about this?

Also, do php programs embedded within aolserver benefit from:

A)  aolserver's db connection pooling?
B)  aolserver's multithreaded model?
C)  ???

Due to the stability issues, I haven't seen much value in adding php to
aolserver, and not just letting apache and aolserver run side by side with
apache hosting php.

???

Thanks,

Jerry



Re: [AOLSERVER] OT: gearing for speed.... (caching connections)

2002-08-30 Thread Jerry Asher

At 05:12 AM 8/30/2002, you wrote:
>SSL requires a 7-step handshake between the two systems in order to
>establish an SSL connection before any data can be passed.  This handshake
>also requires multiple cryptographic operations including generation of a
>fairly small random number, as well as disk accesses of the digital
>certificate files for authentication.  SSL session establishment takes a
>bit of time.  To compensate for this, most SSL implementations will cache
>connections between two systems so that what appears to the application
>writer as a second session, runs over an existing SSL connection.  Even
>so, there is some overhead in the encryption once the session has been
>established.

I have an application where two AOLserver instances on two different nodes
are going to have lots and lots of communication between themselves -- I
would prefer to keep the connections transient, but want to know what the
alternatives are.  It's interesting to know that nsopenssl/nsssl may already
be doing some of this.

Can you tell me more about how this connection caching is done in AOLserver?

Is it handled entirely within nsopenssl/nsssl?  Is it actually keeping the
TCP/IP connection open, or just caching some of the SSL/crypto data?  If the
latter, how does it determine a new request is actually part of an old SSL
session?

Thanks,


Jerry



Re: [AOLSERVER] ns_queryget problem

2002-08-26 Thread Jerry Asher

Interesting you link this to virtual servers  What is your virtual
server technology?


Jerry

At 03:32 AM 8/24/2002, you wrote:
>dear all,
>
>i got this error message after i setting my aolserver into several virtual
>web
>server. Before i just ran one server on the aolserver and never found this
>error message. is there any body knows how to fix this problem since my web
>after i run several virtual server is not running smoothly some of the
>task is
>missing.
>
>Error writing content: resource temporarily unavailable
> while executing
>"ns_conncptofp $fp"
> (procedure "ns_getform" line 25)
> invoked from within
>"ns_getform"
> (procedure "ns_queryget" line 2)
> invoked from within
>"ns_queryget target_user"
> invoked from within chunk: 0 of adp:
> /usr/aolserver/servers/photokiosk/pages/userupload.adp
>
>
>FYI: i'm using AOLserver 3.3ad13
>
>TIA
>oetjoen



Re: [AOLSERVER] SOAP and AOLserver

2002-08-26 Thread Jerry Asher

At 09:20 AM 8/23/2002, you wrote:
>On Fri, Aug 23, 2002 at 06:04:09PM +0200, Branimir Dolicki wrote:
>
> > Does anybody have any experience (good or bad) with implementing
> > SOAP webservices with AOLserver?  Which technologies did you use?
> > What worked?  What didn't?
>
>I'm told that TclSOAP (which does both SOAP and XML-RPC) is the tool
>to use, but I personally never got around to trying it.  I did around
>with ns_xmlrpc a bit, but I'd look at TclSOAP first.  More info here:

I used ns_xmlrpc with a xmlrpc layer that had been handed down and finally
reworked by Dave Bauer and myself.

Oh the pain!

It made me truly envy the C# folks and their WSDL interpreter/class proxy
generator.


Jerry



Re: [AOLSERVER] Ideal AOLserver servers in network bound application....

2002-08-17 Thread Jerry Asher

Thanks Dossy,

I knew about 2, and 3, but hadn't thought too much about 1.  Can you be
more specific though, or could you give a few model names that I can research?

Thanks,

Jerry



[AOLSERVER] Ideal AOLserver servers in network bound application....

2002-08-17 Thread Jerry Asher

I need to make some recommendations for likely AOLserver server machines.

Each connection will have a small amount of work to authenticate, decrypt,
format the content, but most of the content will be provided by databases
serviced by external database machines.

I believe the system will be network/cpu/copy bound more than disk i/o bound.

We would like to be able to implement some very high connection rates.

I am at a loss this afternoon in being able to give a good argument for why
a mid-size, or big box could be expected to do significantly better than a
typical low end server.

What are the things you folks would look for to configure a server to get
high connection rates out of AOLserver in an environment where there is
no local database on the AOLserver server?

Thanks,

Jerry



[AOLSERVER] 28,000 hits per second, how many servers of what kind again?

2002-08-09 Thread Jerry Asher

Back in '99, Philip Greenspun wrote:

>America Online is fielding 28,000 hits per second across all of its
>various Web services and servers

I am curious if anyone knows what the configuration looked like at that
time.  How many servers was AOL using?  What were they?

On a somewhat related topic, I would like to know how many persistent
connections a cough, typical linux server, cough, might be expected to
reliably service, and what are the limitations involved.

I've visted the C10K pages and the like, and ran across a quote attributed
to Alan Cox suggesting that each connection requires 20K in the kernel (and
a rejoinder of well that was dumb then) suggesting that 1000 connections
would require 20M just for TCP's use.

And it appears from a few years ago that a few hundred was okay, but more
than a thousand was considered dicey.

But that was a few years and a few kernels ago.

What's the scoop now?  How many persistent connection might a uniprocessor
Xeon 1.6Ghz PIII with lots of memory reliably handle?  Semi-informed
guesses are what I am seeking.

Is it 1K, 2K, 4K, 8K, 16K, 32K, ...?

Thanks,


Jerry



Re: [AOLSERVER] [ aolserver-Bugs-446689 ] nsreturnredirect isn't

2002-03-19 Thread Jerry Asher

Hi Jim,

No one wants a flame war.

I would like a world class webserver that is protocol compliant because I
believe that makes development easier, not harder, and it makes it easier
for me to encourage clients to use it, and it makes it easier for clients
to use it, and not worry why it's neither Apache, or IIS.

I would like a webserver that doesn't have to come with a collection of
developer caveats.

I would love to see a relationship between the AOLserver staff and the
community in which each side supports, benefits from, and respects each other.

Regarding your specific points,

1. Though it may not be RFC compliant to do what it is doing, it will
>still work on 95%+ of the browsers in use.

I believe the trend is not just that IE is taking over the desktop, but
also that small micro browsers  are cropping up left and right on all sorts
of devices and internet appliances.  I am annoyed these days when my
ericsson fails to properly surf yahoo's site.  I suspect a bug in either my
phone's browser or yahoo's server.

>2. It is only an issue if the developer has a coding error.

Except that as ad_returnredirect shows, most of those coding errors can be
completely mediated by extending what ns_returnredirect does.  Since
ad_returnredirect demonstrates a wonderful prototype (if not the fix
itself), and thus completes much of the development process (requirements,
design, ...) why not extend ns_returnredirect to make the developers tasks
easier are more likely to be correct?

>3. Taken together, it is extremely unlikely to happen in practice.

Gosh, my experience has always beeen that P(coding error) approaches 1 for
any non-trivial program.  And sadly, because of the nature of scripted web
pages, where (page return) functionality is often duplicated on each and
every page, this misuse of ns_returnredirect when it occurs at all, is
likely to occur on many many pages of a website, since it is the result of
an otherwise competent developer, not realizing what RFC behavior actually is.

And of course, I encountered this by finding it throughout the ACS, an
example of a non-trivial website developed by largely competent programmers.

>4. Given that it is unlikely, and that AOL's server developer
>resources are limited, how many resources should be used in making this
>change, reviewing it, testing it, etc.?  I would say "not many".

I don't know how long it will take to implement a fix.  Since no one came
forward saying, "yes, but low priority due to our lack of resources", and
since no one said, "yes, could you submit a patch", and since no one
rejected it saying, "we believe this will take a week of developer time
that we don't have", I find it difficult to address your question of cost
benefit analysis.

In general I think any afternoon spent towards making AOLserver a more RFC
compliant server is an afternoon well spent towards client and developer
acceptance of our server.


Jerry

Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] [ aolserver-Bugs-446689 ] nsreturnredirect isn't RFC2068 compliant

2002-03-19 Thread Jerry Asher

I am extremely disappointed how this bug was resolved, by rejecting it.

The suggestion that it is up to the caller to do the right thing tacitly
admits that the bug is factually correct, ns_returnredirect is not RFC2068
compliant.  Whatever happened to the philosophy of "be liberal in what you
accept and conservative in what you send".

If find the statement used to close the report flippant, arrogant, and
aggravating.  Once again, the AOLserver staff gives the finger to the
community.  Why should we participate in submitting bug reports when this
is the response?

>The caller should be sure to do the Right Thing in this case.

In fact it would be pretty easy for ns_returnredirect to either detect and
report the problem in the parameters it was passed, or to implement
behavior in which it returns rfc compliant values and in a manner that does
what most of its callers would want.  (See ad_returnredirect for the
suggested bug fix and behavior implementation.)

Sigh,


Jerry



At 09:51 AM 3/19/2002, Ms. Source Forge wrote:
>Bugs item #446689, was opened at 2001-08-01 03:04
>You can respond by visiting:
>http://sourceforge.net/tracker/?func=detail&atid=103152&aid=446689&group_id=3152
>
>Category: API: C
>Group: aolserver4_0
> >Status: Closed
>Resolution: Rejected
>Priority: 1
>Submitted By: Jerry Asher (jerryasher)
>Assigned to: Kriston Rehberg (kriston)
>Summary: nsreturnredirect isn't RFC2068 compliant
>
>Initial Comment:
>This is "broken" in aolserver 4, but is also broken in
>the AOLserver 3.x series.
>
>According to RFC 2068, Section 14.30, Location, the
>Location field must be an absoluteURI.
>ns_returnredirect doesn't ensure this and will
>gleefully create and return "relative urls".
>
>So if a page at /foo/bar does something like:
>
>ns_returnredirect index.tcl
>
>(presumably intending that the browser should redirect
>to /foo/bar/nextpage.tcl)
>
>What will be returned is:
>
>Location: nextpage.tcl
>
>It turns out that many browsers such as IE and
>Netscape understand this and will do the right thing,
>but other browsers and "browser like simulations" such
>as ns_httpget fail to "do the right thing" and end up
>returning a 404 (ns_httpget will look for
>http://host/nextpage.tcl)  (I encountered this in both
>AOLserver/ns_httpget as well as on a web server load
>tester.)
>
>Suggested solutions:
>
>1.  Have ns_returnredirect throw an error if the
>passed in location isn't an absoluteURI (that places
>the responsibility on the developer to pass in
>absoluteURIs.)
>
>2.  Follow the suggestion of the ACS routine
>ad_returnredirect and check the location.  If it's not
>an absoluteURI, try and create one using the state of
>the current connection (using the current directory
>and the value of the HOST field and/or the driver
>location.)
>
>--
>
>Comment By: Kriston Rehberg (kriston)
>Date: 2002-03-19 12:50
>
>Message:
>Logged In: YES
>user_id=16427
>
>The caller should be sure to do the Right Thing in this case.
>
>
>--
>
>You can respond by visiting:
>http://sourceforge.net/tracker/?func=detail&atid=103152&aid=446689&group_id=3152


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] reliable messaging between multiple AOLserver processes

2002-03-11 Thread Jerry Asher

I am working on a project I would love to use AOLserver with.

We are going to have a variety of Linux and Solaris machines each running
one or more copies of AOLserver doing various tasks, some web related, some
wireless related, and some just doing random TCP based tasks.

Some of these machines will be in the same rack at an ISP, while others will
be in different racks, on different continents.

I wonder what tools you folks might have, that could be distributed (to
people as well as between processors) that help multiple AOLserver processes
communicate and cooperate.

What would be great are tools that allow me to broadcast messages, or
that create a reliable messaging layer between multiple AOLserver processes.

Perhaps even better would be any tools that might help one reliably
share/sync any specific tcl object between multiple AOLserver processes.

If I build this myself, I am considering utilizing the Spread Toolkit,
http://www.spread.org/ (which carries an older BSD-like license.)

>Spread is a toolkit that provides a high performance messaging service
>that is resilient to faults across external or internal networks. Spread
>functions as a unified message bus for distributed applications, and
>provides highly tuned application-level multicast and group communication
>support. Spread services range from reliable message passing to fully
>ordered messages with delivery guarantees, even in case of computer
>failures and network partitions.

Does anyone have any experience with this toolkit?  If so, what is your
experience, is it reliable?  Is it high performance?

Thanks,


Jerry Asher
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] server reload function

2002-03-10 Thread Jerry Asher

At 12:05 AM 3/11/2002, you wrote:
>I  have my AOLserver in inittab already.
>But i should maintain many online user's information and i should not stop
>the sevice.
>Thanks.

I am not sure what you need to reload, but you can use

   ns_eval [list source ]

to have the contents of filename sourced into every interp (thanks Rob Mayoff).

At runtime, you can use the nscp module to telnet into AOLserver and execute
commands against it, or you can just add the ns_eval to some protected page


Jerry
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver.com relaunched!

2002-03-08 Thread Jerry Asher

Thanks for the hard work involved.

I dunno the realities, but I keep hearing rumors and worries of SF's demise
-- I sure hope there are adequate mirrors somewhere.


Jerry

Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLServer public license ?

2002-03-05 Thread Jerry Asher

I think is is true with the additional prologue:

"If you are distributing your derived work, THEN, "

>The short version is that if you create a derived work, you must allow
>access to the source of your derived work.  If used AOLserver code and
>hacked it to specialize it somehow, then your hacks must be available.  If
>your product only uses AOLserver as a program, and only interfaces with it
>through the network and via modules, then you do not have to provide the
>sources for the programs that organize AOLserver for you, nor for the
>modules.

It's my understanding that you don't have to do anything if the work exists
solely in your labs, or on your own servers, regardless of what your changes
did, or where you made the changes to.


Jerry



====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] spat of SourceForge messages

2002-02-26 Thread Jerry Asher

At 06:24 PM 2/26/2002, you wrote:
>What was up with all those SourceForge messages?  Did Kris
>just do a mass-assign to himself for all the open tickets?
>Or did something else happen that I missed ... ?

I think it was the former, but when I got them all, my first thoughts were
that sourceforge was bellying up.


Jerry
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] AOLserver on HPUX: experiences?

2002-02-14 Thread Jerry Asher

We're specing a system and considering using HPUX for a high availability
solution.  (Stratus actually).

I know from http://www.aolserver.com/docs/admin/install.adp, that AOLserver
is "known to have compile and run" on HPUX.

Does anyone run AOLserver in production on HPUX?  What are your experiences
with that?

Thanks,


Jerry
========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] And if you thought nsvhr was an inefficient virtual hosting mechanism...

2002-01-07 Thread Jerry Asher

VMware is a wonderful product.  I am also amazed that these days a company
with such a technically hard product, not hardware, to make or support
could get funded.

That said, I was surprised by their newsletter suggestion this morning:

>TECH TIP OF THE MONTH:
>HOSTING SERVICES ON VIRTUAL MACHINES BEHIND VMWARE NAT
>Our users and staff often discover hints and shortcuts that can
>help you get the most from VMware products. This month, our tech
>tip explains how to configure VMware NAT so that your virtual
>machines can provide network services (such as Web and FTP) on
>your public network. NAT enables guest operating systems to share
>the host operating system IP address(es). ...
>Read more about hosting services on
>virtual machines behind VMware NAT at:
>http://vmware1.m0.net/m/s.asp?HB5170575598X1186076X89440X

This is not the solution I would choose if I was concerned about
performance.  I do wonder how well it might work as a chroot alternative.

Jerry
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Critical filter failed

2002-01-07 Thread Jerry Asher

>Totally agree.  In fact, I think there may be other cases where AS 3.4
>doesn't log Bad Request errors that are internally generated by AS.  I
>have had users do screen shots of Bad Request, yet I can't find them
>in my logs.  Could be stupidity on my part...dunno yet.
>
>Jim

I can confirm that uncaught errors will result in a connection that is not
logged.  And when I examine the logs of the reverse proxy master (aolserver
running nsvhr), you can see the connections there that don't appear in an
aolserver whose connection generated an error.)

If I recall that's because access logging itself is implemented as a just
another filter and the filter logic is such that an error in any filter
results in the rest of the filters being skipped.

It might be a good thing to have "finally" filters, that are run no matter
what, and I wouldn't mind seeing finer grain control over which filter runs
before which other filters (not just what phase they run in.)

(As an aside, there is other information that may not get logged.  As an
example, anyone who returns their content with ns_write (I believe) and not
ns_return, or not through an ADP page, will have erroneous logging of
amount of content returned.)


Jerry

====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Exposing API's to other modules?

2002-01-03 Thread Jerry Asher

At 11:12 AM 1/3/2002, you wrote:
>I believe nsopenssl conforms to these standards as they are written now.
>The standard you pointed us to covers function naming standards, but makes
>no distinction between functions in the AOLserver core versus functions in
>a module.
>
>
>/s.

Hi Scott, I didn't intend to imply you weren't living these standards.  I
was trying to back up your point that there is value to using these naming
conventions.

I shall weasel by saying that I see the distinction between core vs.
non-core as implicit rather than explicit.  Jim and the other folks, when
writing Naviserver used Ns_ and not Tcl_ so perhaps we all might have clued
in to write our external modules as My_ and not Ns_ and not Tcl_.


Jerry
========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Exposing API's to other modules?

2002-01-03 Thread Jerry Asher

>Is this a big deal? Changing function names just to be consistent may be
>viewed as a waste of time. I don't happen to think so. It helps when I go
>read another module's sources if they follow a style consistent with the
>core stuff. I'm probably outnumbered in this view.

I have worked on several well built systems where, having learned the
naming conventions, I could just about "make up a name to fit the
functionality I was looking for" and then find that that function had
already been written by the developers.

One of Ousterhout's greater contributions was the documentation of his
team's programming standards.  I apologize for ending this message without
the link.  But if they're not there already, maybe the AOLserver.com folks
could link to them from their site.



Jerry
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] How does a module know a GET or POST request was

2001-12-19 Thread Jerry Asher

>If someone says "show me a traffic summary for the last 2 years, by
>week, ordered by blah", it may not be trivial to generate that kind of
>report.  So it does hurt to keep on doing it when no one is listening.
>
>Jim

But is there an efficient way to determine the connection has been
broken?  From what I've seen in the code, AOLserver detects broken
connections the *next* time it tries a write or read of a connection.  When
someone clicks on a bring-your-server-to-the-knees-query, after AOLserver
hands it to your code, nothing else is done on that connection until your
code tries to return a page.  At that point, the write will get a
connection broken error.

Is it possible for a TCP based connection to know when a socket is broken
*as it happens*?  If possible is that an efficient manner to run webserver
based communications?

Jerry

========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] enterprise.netscape.com ... hmmm.

2001-12-17 Thread Jerry Asher

At 11:58 AM 12/17/2001, you wrote:
>Hey, Jim and Kris,
>
>Some sales person from Netscape called me asking about their
>Directory Service offering, and in the conversation I said
>"man, the migration path from NES 3.63 to iPlanet 4.x sucks ..."
>and she said "oh, we've got NES 6.0 ... have you looked at it?
>Check it out at enterprise.netscape.com ..." so I did.
>
>Curiously, digging slightly deeper, I found:
>
> $ telnet enterprise.netscape.com 80
> Trying 204.29.187.30...
> Connected to enterprise.aoltw.net.
> Escape character is '^]'.
> HEAD / HTTP/1.0
> Host: enterprise.netscape.com:80
>
> HTTP/1.1 200 OK
> Server: Netscape-Enterprise/6.0 AOL
> Date: Mon, 17 Dec 2001 19:55:03 GMT
> Content-type: text/html
> Content-length: 0
> Connection: close
>
>Netscape-Enterprise/6.0 AOL <-- AOL?
>
>Can my dreams be coming true?  Is NES 6.0 really AOLserver
>in disguise, with the traditional NES web-based GUI admin
>on top of it to configure it?  :-)

Hi Dossy,

I guess I'm too tired, but what is it you see in the above that leads you
to believe this may be AOLserver incognito?


Jerry

Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] SCRIPT_NAME and PATH_INFO

2001-12-15 Thread Jerry Asher

I believe this is a known bug:
http://sourceforge.net/tracker/index.php?func=detail&aid=230479&group_id=315
2&atid=103152.

Uh, not to beat a dead horse, I submitted that bug to AOL as it was reported
in the ArsDigita forums. Unfortunately, in the no good deed goes unpunished
department, the one charming comment from the AOL team was that they don't
follow such links when tracking bug reports.  So I don't know if it has ever
been looked at or not.

Apologies

Jerry



Re: [AOLSERVER] We've made a code change, would like opinions as to is this a good or bad idea...

2001-12-07 Thread Jerry Asher

I've developed one of the more popular virtual hosting solutions -- without
giving your solution too much thought, it seems reasonable and clever.

Jerry

At 12:42 PM 12/7/2001, you wrote:
>At BNA we have a problem with use of AOLserver in terms of
>how it handles the Location parameter value.  The Location
>is a fixed value that is a "global constant" for the
>AOLserver process.
>
>In our virtual hosting environment on our production
>machines this a problem.  The problem is as follows:
>
>The machine host name is >>> xyz.bna.com
>One of many virtual host names is >>> productA.bna.com
>User requests >>>  http://productA.bna.com/
>(notice that there is no / at the end of the user request)
>
>According to spec AOLserver should redirect to the complete
>url.
>Wanted behavior is a redirect to >>>
>http://productA.bna.com//
>
>actual behavior is a redirect to >>>
>http://xyz.bna.com//
>
>Our location is the machine name because we can only set
>one.  But one location is not sufficient for our needs.  I
>am aware of the many different Virtual Hosting solutions
>that are proposed for AOLserver.  But we found a way to fix
>our problem without actually needing to use any of the
>currently specified Virtual Hosting approaches.  I would
>like to get your opinion on our approach to solving our
>problem.
>
>In nsd/return.c we have modified the function
>Ns_ConnReturnRedirect.  Please note the additional block of
>code marked with a "ZZZ BNA" comment.  What this does is
>return the user specified host name in preference to the
>Location value.  This solves our particular problem.  It is
>not a Virtual Hosting solution per se, but it does solve our
>problem.
>
>My question is: Do any of you who know the code better than
>we do think this is a dangerous thing to do?  If so where
>should I look in the code to see the danger?  Our testing
>has shown no problems with this change, at least not so far!
>
>Here is the modified source code:
>
>Ns_ConnReturnRedirect(Ns_Conn *conn, char *url)
>{
> Ns_DString ds, msg;
> intresult;
> char*  host;
>
> Ns_DStringInit(&ds);
> Ns_DStringInit(&msg);
> if (url != NULL) {
> if (*url == '/') {
>
> /* ZZZ BNA - we look for a host entry before
>defaulting
>to the location value.
> */
> host = Ns_SetGet(conn->headers, "Host");
> if (host) {
> Ns_DStringAppend(&ds, "http://";);
> Ns_DStringAppend(&ds, host);
> } else {
> Ns_DStringAppend(&ds,
>Ns_ConnLocation(conn));
> }
> }
> Ns_DStringAppend(&ds, url);
> Ns_HeadersPut(conn, "Location", ds.string);
>  Ns_DStringVarAppend(&msg, ""\">The requested URL has moved
>here.", NULL);
>  result = Ns_ReturnNotice(conn, 302, "Redirection",
>msg.string);
> } else {
>  result = Ns_ReturnNotice(conn, 204, "No Content",
>msg.string);
> }
> Ns_DStringFree(&msg);
> Ns_DStringFree(&ds);
> return result;
>}
>
>Thanks for the help!
>
>/pgw
>Greg Wolff
>[EMAIL PROTECTED]


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver 4 - Win32 not supported?

2001-11-09 Thread Jerry Asher

The decision to drop Win32 has been kicking around for some time now.

My interpretation of the chat two weeks ago was that dropping Win32 support
should make it easier to make AOLserver more robust and maybe faster in the
UNIX environments.  It will definitely make it an easier application to
support.

For the *nix users, that's a great win, and the large reason I support
dropping Win32 support.

That said, I'd love to see a cygwin port, and perhaps that's something that
our win32 community can strive to provide.


Jerry
========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] AOLserver license and legality of creating proprietary modules....?

2001-11-02 Thread Jerry Asher

I apologize for stumbling over the legalize in the license: (MPL 1.1)
http://www.aolserver.com/license/

Would someone sum up the legality of a party, not AOL, creating,
distributing, and selling, a proprietary AOLserver module?

I have been asked to help develop a piece of network glue, and gosh, it
would appear to really benefit from being made from AOLserver, plus a
variety of C or Tcl modules.

I certainly want to support AOLserver.  I would plan on contributing
changes to AOLserver itself back to AOLserver, while encapsulating the new
network glue in its own module.

I don't know who the end client is, and so I don't know if they intend to
sell the software, or just services based on their own internal
application.  I do know they would want to own the module that implements
the core piece of their service, and I suspect they really don't want to
own anything but that.  It is conceivable they would be happy to link to or
mirror the AOLserver distribution while selling the nsglue module.

Is this behavior

A)  encouraged
B)  tolerated
C)  illegal
D)  ??

If A) or B) is there a guide to practical working with the MPL in spirit as
well as in letter?

Thank you,


Jerry Asher


========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLServer for Windows file hosting...

2001-10-29 Thread Jerry Asher

Daniel,

Rant away.  We all need to let off steam now and again.

I do have a completely different perspective.  AOLserver on Win2K?  When in
Rome dude I think that if Win2K is a requirement you should be thinking
IIS or Apache, that's what most everyone is using on that platform.  And
the AOLServer community is small as it is.  To be successful at AOLserver
and Win2K, you will definitely need to be C proficient, and probably *nix
proficient as well.  You're going to be a test pilot

As an aside, after twenty years of not getting source with the software I
require, and not being able to fix show stopper bugs, what a joy it is to
have the source once more.  I literally feel like I can breathe once more.

That's not to say that the open source / linux world doesn't have problems
dealing with installation dealing with numbers of libraries, complexity of
interactions, quality, versioning, etc.  I'd love to try gnucash (will
quicken ever offer an undo feature, or (emacs) lossage, or an accountant's
journal, all of which are needed when your two year old starts banging on
your keyboard?) but here's what gnucash says about the issue:

>For many, if not most, users of GNU/Linux, the installation of the latest
>(1.6.x) versions of GnuCash requires a substantial effort to
>install/upgrade dozens of supporting libraries. Although the effort
>depends on the distribution and on your experience, it has proved to be
>overwhelming and impossible for many, many users. Unless you feel quite
>confident in your abilities, and are willing to take the time to diagnose
>install problems on your own, it is recommended that you not upgrade to
>gnucash-1.6, but rather, wait until your favorite distribution includes
>gnucash-1.6 by default.

Best of luck in your endeavors!  I hope you avoid the fate of many test
pilots, and have no streets named after you.


Jerry
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Resolution! RE: [AOLSERVER] segmentation violation: gdb stack trace WAS RE: [AOLSERVER] Trying to debug a C module?

2001-10-27 Thread Jerry Asher

At 01:32 PM 10/27/01, you wrote:
>Thanks to the weekly chat on AOLServer hosted every Thursday:
>
>* used libefence to locate a large for loop with an for loop that was
>populating a malloc structure, that was causing access to unallocated
>memory.

Can you expand on that a bit.  What was involved in linking libefence in?


Thanks,


Jerry

========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Returning complex data from Oracle stored procedure...?

2001-10-24 Thread Jerry Asher

>On Wed, Oct 24, 2001 at 02:18:08PM -0400, Lane Wimberley wrote:
> > Hello, AolServants!

Hmm, that doesn't sound so good.  How about AOLSavants?

Jerry

========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Trying to debug a C module?

2001-10-21 Thread Jerry Asher

Part of the problem I have had in debugging modules is getting that the
symbols of the module are loaded at runtime, not at link time.

So

my gdbinit contains:

set args -d -s theashergroup -ft /web/aol33/theashergroup.tcl -u
theashergroup -g web
handler 13 nostop pass
file /web/aol33/bin/nsd8x


Then I start aolserver under gdb
gdb


Set a break at nsd/modload.c/NsLoadModules()

break NsLoadModules


Then run

and when you hit NsLoadModules, step through it.  Your module will
eventually be loaded and its initproc run with a call to Ns_ModuleLoad.


Have fun,


Jerry



Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Updated the "Sites That Run On AOLserver" wiki

2001-10-20 Thread Jerry Asher

I think you're both right.

It's interesting to see what netcraft does when you remove your
headers.  It's got three or four things that it tries to generate different
responses from your server.  Older ACS versions did remove the server
header, inadvertently I am pretty sure.

So amongst other things. netcraft would come GET /, and annoyed with
no server header, it would try GET /xyzzy, which would get an AOLserver
generated 404 that DID contain the server header.

I think netcraft has some other tricks up it's sockets.

Anyway, if you're going to remove the header, grep ALL your code, including
CGI.


Jerry

====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] 3.4, idle thread timeout broken on Linux

2001-10-17 Thread Jerry Asher

>This shows (I think) that if you currently have N threads active, no
>threads will timeout if there are N hits in threadtimeout seconds, at
>least on a Linux box, because the thread scheduling is FIFO instead of
>LIFO.  On one of our production server, we are up to around 26 active
>threads.  I don't think there is any value for threadtimeout that would
>make threads actually time-out.

That could be, I don't know how Linux wakes things up, BUT,

>I dunno if there is a way to make Linux/pthreads/AS/... wakeup threads
>in LIFO order instead of FIFO.  Anyone else know?

 From what I recall of how threads are started and killed, well, if this is
a concern of yours, then another way to skin that cat might to alter the
logic in nsthread and conn.c maintaining a ratio of active threads to total
threads, and to start killing threads off when the ratio becomes too low.


Jerry
========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver complies with HTTP minimums?

2001-10-17 Thread Jerry Asher

At 11:16 AM 10/17/01, Peter M. Jansson wrote:
>On Wednesday, October 17, 2001, at 02:09 PM, Jerry Asher wrote:
>>Ah, well while revealing internal names and such, what's "Magic Carpet
>>Engineering?"
>I'm not revealing anything that hasn't been published elsewhere:
>
>http://www.zdnet.com/eweek/stories/general/0,11011,2797243,00.html

Thanks for the link, and please accept my apology: I didn't mean to imply
you were revealing anything sensitive or confidential.


Jerry

========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver complies with HTTP minimums?

2001-10-17 Thread Jerry Asher

At 11:07 AM 10/17/01, you wrote:
>On Wednesday, October 17, 2001, at 01:29 PM, Jerry Asher wrote:
>>What's the screen name service?
>Screen Name Service is AOL's service-wide authentication scheme -- you see
>it when you log in to the AOL web site to pick up mail or use the Java AIM
>applet.

Ah, well while revealing internal names and such, what's "Magic Carpet
Engineering?"


Jerry

========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver complies with HTTP minimums?

2001-10-17 Thread Jerry Asher

At 10:22 AM 10/17/01, you wrote:
>Hi there,
>
>in Screen Name Service, we're currently investigating a problem regarding the
>truncation/dropping of HTTP headers when they're becoming too big or too many
>for the client or the server to handle.
>
>Just wanted to ask you guys if you know of any limitations of AOLserver in
>this regard. Especially, do you guys support the following minimums for both
>incoming and
>outgoing headers:
>
> * 4K characters per HTTP header line
> * 16K characters total for all HTTP header lines
> * 100 HTTP header lines

The first two settings are all settable through the config.tcl.  In
particular, the defaults are 8K chars per line (MAXLINE) and 16K chars
total for all HTTP header lines (MAXHEADERS).  A brief inspection of
aolserver/nsd/conn.c/ns_connreadheaders doesn't reveal any limit on the
number of HTTP header lines.

What's the screen name service?


Jerry

====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] Possible AOLserver Denial Of Service...?

2001-10-14 Thread Jerry Asher

I haven't nailed down the minimal case, but I have encountered what appears
to be a possible AOLserver Denial of Service

It appears that ns_returnfile will not timeout, but will hold a connection
open in perpetuity.

Here's what I observe:

1.  OpenACS 3.2.5 has a module, SDM, that registers a proc to
 handle downloads of various "releases" (most likely a tar file).

2.  That proc will call ns_returnfile to return the file.

3.  The proc will then go on to insert various entries into a db,
 logging the download.

4.  Tailing the server log, and using IE 5.5, I visited the SDM module
 and instigate a download.  Relatively immediately, IE 5.5 pops up
 a dialog box titled "File Download" and asking me if I wish to
 Open this file from its current location, or download it to disk.

5.  I leave the room, pop open a coke, and flip channels looking for
 an early John Wayne flick (for some reason they are rampant after
 1:30am on the freebie (free as in commercial) cable channels.

6.  It's at least ten minutes later, and no joy on the TV front.
 I can't find an X-Files rerun, a Quantum Leap Rerun, or a
 Buffy rerun.  Xena is on, but it jumped the shark long ago.
 What I wouldn't give to find a cable channel with Maverick on,
 but I haven't found Maverick on in fifteen years.  No, what we
 do have is:

http://tv.yahoo.com/grid?lineup=us_CA60321&genres=0&dur=&starttime=1003057200&.intl=us
NIKP 53 Cheers TVG, CC Cheers TVG, CC Cheers TVG, CC Cheers TVG, CC Cheers
TVG, CC Cheers TVG, CC NIKP 53

 Yes, Nik is showing 7 1/2 straight hours of Sam, Diane, and Woody.
 I think I've seen this Twilight Zone that I am now taking part in.

 Life sucks tonight. I return to the damned computer, click
 [Cancel], and then observe the tailed server log initiate
 the database inserts using what now appears to be a very old
 connection number.

Is that ns_returnfile combined with my TV viewing holding that connection
resource?  (I believe so.)  Can this be used to force a DOS on an AOLserver?

Scenario: I have a tcl proc on my attacker AOLServer fork 200
threads.  Each thread visits YOUR MACHINE, where it visits a URL on your
machine known to invoke ns_returnfile.  The thread then does nothing: I
guess it opens the connection, but doesn't read any of the bytes.  After
100 or so of these attempts, your AOLserver has no more connections to give
to legitimate requests. DOS.

Would this work?  Have I missed something?  (Well I did miss Blazing
Saddles, D'oh!)

Am I right to think that ns_returnfile should have a timeout?

Do you know where I can still find Bart, Beau, and Brett?  (Apart from a
planet 42 lightyears away?)


Jerry

Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] config confusion

2001-09-29 Thread Jerry Asher

At 05:42 AM 9/29/01, you wrote:
>On 2001.09.29, Jim Wilcoxson <[EMAIL PROTECTED]> wrote:
> > But it doesn't seem to buy anything to have users waiting on a connection
> > queue vs. waiting on the socket listen queue, except they have a different
> > message on their browser status line.
>
>Are you saying that maxconnections isn't setting the socket listen
>queue size?
>
>-- Dossy

I say that maxconnections sets the number of connections that can be
accepted, backlog sets the socket listen queue size, I don't know what
causes the server to hang.

That's what we want to find out!

http://www.city-net.com/abbottandcostellofc/whoscrip.htm


Jerry

====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] config confusion

2001-09-28 Thread Jerry Asher

Jim this writeup is great.

What you write coincides with my own analyses two months ago when upgrading
nsunix to AOLserver 3.3.

If I understand your question then my guess as to the advantage of
accepting connections even when there are no threads available is thus:

1.  We know it's the typical case that you can have 100 connections and only
 ten threads, so by default you have to be able to accept more connections
 than threads.

2.  Connections can block for i/o (waiting for the 300 baud dial up user using
 a 20 year old trs-100, so you would want a thread to be able to handle
 more than one connection

3.  If you aren't being slashdotted and the high traffic is temporary, than
 accepting the connection and holding onto it until a thread becomes
 available probably keeps the browser from timing out more often than
 in the case where the connection isn't accepted until a thread becomes
 available.

>I don't quite understand the value of accepting connections even
>though there is no thread available to service the request (this
>occurs if maxconnections > maxthreads).  From my point of view as a
>webmaster, I will probably set maxconnections and maxthreads equal.
>This way, if a browser hits our site and no thread is available, the
>user will see "contacting blah.com" during the delay and assume there
>is some network problem.  If I set maxconnections > maxthreads and
>maxthreads is too low, users will see "blah.com contacted, waiting for
>reply" and it'll look like our site is slow.  Okay - a bit deceitful.


Jerry


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] command line -g isn't used in exec.

2001-09-28 Thread Jerry Asher

This sounds related to bug: 425401
http://sourceforge.net/tracker/index.php?func=detail&aid=425401&group_id=315
2&atid=103152.  Or rather, I wonder if the patch supplied for that bug helps
out your issue.

Jerry

"supplementary groups not set/cleared
nsd/nsmain.c does not drop/set supplementary groups
before changing user ID. This can lead to a security
breach."

and

"Think that changing user id is missing additional steps. I have
AOLServer 3.2 + ad12 running as user nsadmin
 - but the umask for operations done by the server is not the
002 that is nsadmin's umask, but instead 022
like root. I tried setting umask by including it in the wrapper
script I use to set Oracle environment
variables:

#!/bin/sh

umask 002
. /etc/shell-mods.sh
exec `dirname $0`/nsd $*

And operatons like opening a file handle, writing a file, and
closing the handle give me files with group write
permission. nscp gives me a file without group write. In both
cases, the group for the file is set correctly (is
the group set by the -g flag, not root's group
"other")."

Tom Jackson writes:

> I start aolserver with:
>
> #!/bin/sh
> sleep 3
> exec /web/scripts/bin/nsd -it /web/control/scripts/nsd.tcl -u nsadmin -g
> web
>
> As the nsadmin user:
> nsadmin$ groups
> nsadmin web
>
> The tcl script:
>
> set groups [exec groups]
>
> returns just 'nsadmin'
>
> Scripts which require the group to be web do not work.
> My /etc/passwd file has the primary group for nsadmin as nsadmin
>
> To get things working, I had to change the primary group to web.
>
> Is this expected? I was thinking the command line would set the group.
>
> --Tom Jackson



Re: [AOLSERVER] The -s command line option

2001-09-27 Thread Jerry Asher

>What would be the difference between [source filename] and
>[ns_include filename]?

Hmm, I guess about three characters.


Jerry


====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] The -s command line option

2001-09-27 Thread Jerry Asher

At 05:09 PM 9/27/01, you wrote:
>On 2001.09.27, Jim Wilcoxson <[EMAIL PROTECTED]> wrote:
> > Guess I will make 8 small shell scripts, set an environment variable
> > differently in each one, use $env(blah) to do the conditional stuff...
>
>Why not create 8 different nsd.tcl-like files?  The common bits can
>be extracted out into a seperate .tcl file that gets sourced from
>each of the 8 different files.  So, you'll end up with 9 files,
>and the functionality you want without any mess or requiring an
>AOLserver code change.
>
>Plus, it'll be easier to maintain, this way.

Since AOLserver 3.3 came out, I've been thinking that an

ns_include 

command might be very handy in this situation.

Still I am sorry to say that I believe AOLs response to the bug reports was
more typical of the old AOLserver attitude towards the community than what
I was hoping was a friendlier attitude that I had been seeing.


Jerry

====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Query variables starting with an underscore?

2001-09-27 Thread Jerry Asher

At 04:37 PM 9/27/01, you wrote:
>Hi all,
>
>one of our partners has reported a problem with AOLserver and query variables
>starting with underscores ... do you guys know anything about this?
>Unfortunately, i don't know which version they're using, just want to give it
>a try:
>
>"With the AOL server (TCL) is there a limitation that the variable that
>is posted via HTTP cannot begin with an underscore ( _ ) ? Can I not
>post, for e.g. "_p_thisvariable=helloworld"?"
>
>Does anybody know?

There's a bit of an ambiguity in your question.  Is it POSTs or GETs they
are having a problem?  Regardless, I do not believe this to be true as of
AOLserver 3.3.  (And much much earlier I am sure)

Test a GET yourself:

  http://www.theashergroup.com/junk/test.tcl?_p_thisvariable=helloworld

Now make a POST form, and test that too:

  http://www.theashergroup.com/junk/make-post.html


Jerry



Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] The -s command line option

2001-09-27 Thread Jerry Asher

At 04:01 PM 9/27/01, you wrote:
>I am a bit confused about -s .  What is this supposed to do?

Sadly, and empirically, I have determined that that since AOLserver 3.3,
that option has retroactively been written to annoy you.  It was a
meaningful option in AOLserver's 3.0, 3.1, and 3.2 and many folks wrote
code that does just what you see to do, but this code broke in AOLserver 3.3.

Bug reports and patches were supplied at sourceforge (by users), but the
AOLserver support team determined that uniform support for this feature
within the AOLserver 3.x series was not a good idea.

Several users have asked AOLserver for support for this feature in the
AOLserver 4 series, and AOLserver has been quiet about their intentions
thus far.

Regrets,


Jerry


>If I use multiple -s options, the code at nsmain.c/212 catches that error.
>
>But if I don't use any -s option and completely remove the ns/servers
>section, things still work.  I expected an error because of the code at
>nsmain.c/475:
>
> /*
>  * Determine the server to run.
>  */
>
> if (server != NULL) {
> if (Ns_ConfigGet(NS_CONFIG_SERVERS, server) == NULL) {
> Ns_Fatal("nsmain: no such server '%s'", server);
> }
> } else {
> Ns_Set *set;
>
> set = Ns_ConfigGetSection(NS_CONFIG_SERVERS);
> if (set == NULL || Ns_SetSize(set) != 1) {
> Ns_Fatal("nsmain: no server specified: "
>  "specify '-s' parameter or specify "
>  NS_CONFIG_SERVERS " in config file");
> }
> server = Ns_SetKey(set, 0);
> }
> nsconf.server = nsServer = server;
>
>What I want is to be able to pass an argument to allow conditional
>execution of the nsd.tcl file, but I don't want to duplicate every
>ns/server//xxx section of the file to do that.
>
>Use an environment variable and execute nsd from a shell script??
>
>I know there was a discussion about the -s option a while back, but
>I looked through all my email/SF and couldn't find it.
>
>Thanks for any guidance,
>Jim


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] nimda has dropped dramatically for me, you?

2001-09-27 Thread Jerry Asher

Instead of getting thousands of hits per hour, I am today only getting tens
of hits per hour.

Have you folks seen a similar drop-off?  Does anyone have an explanation
for such a drop-off?


Jerry

Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] analyzing and troubleshooting mysterious crashes

2001-09-27 Thread Jerry Asher

>For mysterious crashes with no explanation, it's probably due to data
>corrupted by blown stacks.

99% of all the crashes I experience leave as their final grin this error
message:

   "ns_realloc: could not allocate %d bytes"

Invariably, this messages comes at a time in which I would have thought
there was still plenty of SWAP space left on the machine.  The message
itself comes from aolserver/thread/ns_realloc.

What this tells me is that:

A)  It would be very nice to have a forum and poll (at aolserver.com?) in
 which developers/users can interact specifically about mysterious crash
 issues, detail the symptoms they see and "vote" on which ones are the
 most frequent.

B)  I would love to see a -define DBG_MEMORY compile time option that would
help
 trace down this issue and other memory/stack related issues.  When
compiled
 in, we could either get a trace of what modules, what pages, or what
 filters or procs are triggering the call to ns_realloc, and also get a
 snapshot of various structures within the system to help us understand
 why realloc or Ns_ThreadRealloc failed at that time.

Thanks,

Jerry
========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Hm ... hm ... let's try again :-)

2001-09-26 Thread Jerry Asher

At 08:59 AM 9/26/01, you wrote:
>From: Brian Fenton <[EMAIL PROTECTED]>
>
> > I hope Teo was only joking
> >about his impending death if his webserver falls over, you never can tell
> >with the kind of clients around these days. ;-)
>
>Perhaps it is a server keeping his pacemaker running...

Well AOLserver does have keepalive support.

Jerry
====
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] POST of binary data

2001-09-20 Thread Jerry Asher

>The standard content-types for query data are multipart/form-data and
>application/x-www-form-urlencoded.  What content type are you seeing?

I am not sure the content type, this is following up a bug report to nsvhr
(suggesting that nsvhr didn't work with binary posts), but I know the
problem is not nsvhr's and I was just getting a bit further into what the
actual problem might be.

>You can get the POST data into a file using ns_conncptofp.  Then, using
>Tcl 8, you can examine the file and deal with any binary data.

To do this though, am I right in thinking a script must not get call
ns_getform unless the POST is multipart/form-data OR urlencoded?


Jerry




========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] POST of binary data

2001-09-20 Thread Jerry Asher

I'm a bit muddleheaded this morning.

Do the RFC's allow POSTing binary data using a content type of anything but
multipart/form-data?  Looking at RFC 2616 at the moment, I see nothing that
makes the answer clear.

If ns_getform sees something that is not multipart/form-data, it collects
using ns_conn form.  It seems that ns_conn form calls
conn.c/ns_conngetquery which begets ns_querytoset which begets
Ns_DecodeUrlCharset which looks for a NULL to determine the end of a string.

So it appears that form.tcl/ns_getform (and hence AOLserver) requires
binary data to be sent as multipart/formdata, but I am curious about the
RFCs.  There appear to be certain applications that post binary data using
other content types, are those applications broken, or is it AOLserver itself?

Thanks,


Jerry
========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver operational issues

2001-09-20 Thread Jerry Asher

>
>Your analysis seems spot-on to me.  I just thought this would be a quick
>hack to see if the tcl scripts are the culprit.  Even starting multiple
>threads at starting, you'll still take a hit if you have to crank up
>another thread during the life of the process.  I'm just trying to get a
>handle on likely avenues of attack for solutions.  Starting up a thread
>should be more heavyweight than forking a CGI, so I'm trying to get a
>handle on whether thread startup is heavy, and how, if at all, it can be
>mitigated.

I don't know how big an interp is, and I assume that anything that takes 3
seconds to init must be fairly large.  But if they are reasonably smallish
(though timeconsuming to init) you could precreate more interps than
threads, and then when new threads are created they will not have to under
go the interp start up penalty.


Jerry

========
Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] AOLserver operational issues

2001-09-20 Thread Jerry Asher

>
>In the absence of information about sharing compiled Tcl objects between
>interpreters, I can't see a way to address the memory footprint issue
>right now, but we could see if the thread startup issue helps in terms of
>time and maybe memory.

I came in on this late and missed the first posting, but won't hesitate
(sorry) to toss in my 2 cents.

If your plan works, wouldn't that to a great deal to address the memory
issues?  The "enormous string" will be shared in nsv form, and each interp
will only have those functions it uses.

On the other hand, assuming that:

1.  you only define functions that are used at sometime in your application
2.  your interps are never destroyed

I don't know if either of those are valid assumptions.  But regarding 2, a
quick examination of the code aolserver/nsd/tclinit.c, it doesn't appear to
me that interps are EVER destroyed UNLESS you specifically call
ns_markfordelete within your application or unless you call ns_eval in your
application and had ns_eval something that it bards on.

greps for markfordelete and for destroyinterp appear to reveal that nothing
in AOLserver ever deletes an interp.

So in the long run (but what is the long run), every interp will have every
function.

So while you are certainly distributing that 2-3 second per interp startup
cost over time, you aren't eliminating it.

If any of this is accurate, wouldn't another strategy just be to create a
reasonable number of threads in the beginning (using minthreads), or
creating a new parameter (mininterps) that precreates that many of interps
at startup?

I'm not saying what you guys want to do is wrong in any manner, I'm just
trying to understand how AOLserver works and what applications rl_proc will
be useful for.

Thanks,


Jerry


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



[AOLSERVER] Bug in nsvhr/nsunix: fixed....

2001-09-19 Thread Jerry Asher

Joshua Ginsberg reported a bug in nsvhr/nsunix: POSTs of binary data may
fail with the first NULL. (I called Ns_DStringAppend instead of
Ns_DStringNAppend)

Thank you Joshua!

The bug can be fixed with the patch I am including below.

If this patch gets munged in the email, you can find it at:

http://theashergroup.com/bboard/q-and-a-fetch-msg.tcl?msg_id=0G


Jerry



Index: nsvhr.c
===
RCS file: /cvs/ad33.13/aolserver/nsvhr/nsvhr.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -r1.2 -r1.3
37c37
< static const char *RCSID = "@(#) $Header:
/cvs/ad33.13/aolserver/nsvhr/nsvhr.c,v 1.2 2001/08/30 05:33:44 jerry Exp $,
compiled: " __DATE__ " " __TIME__;
---
 > static const char *RCSID = "@(#) $Header:
/cvs/ad33.13/aolserver/nsvhr/nsvhr.c,v 1.3 2001/09/19 10:57:03 jerry Exp $,
compiled: " __DATE__ " " __TIME__;
1277c1277
< // Ns_LogDumpString(Dev, buffer, numRead);
---
 > Ns_LogDumpString(Dev, buffer, numRead);
1279c1279
<   Ns_DStringAppend(&request, buffer);
---
 >   Ns_DStringNAppend(&request, buffer, numRead);
1316c1316
< Ns_Log(Dev, "nsvhr: sending to unix:%s on socket %d: %d [%s:%d] bytes.",
---
 > Ns_Log(Dev, "nsvhr: sending to unix:%s on socket %d: %d bytes.
[%s:%d] ",




Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] Conn threads dying spontaneously

2001-09-17 Thread Jerry Asher

The only time I've ever seen anything remotely like that was in nsunix for
AOLserver 3.0, and 3.2.  There was a bug in nsd/drv.c where it tried to
close a socket, setting it to -1 (which it thought denoted INVALID_SOCKET).
Unfortunately it was using the wrong structure and just so happened to be
poking a -1 into a location in which -1 means, oh goody, let's shut the
server down!

If you aren't using nsunix or some odd communications driver that relys on
drv.c/RunDriver (iirc), then that problem should not be affecting you, and
again, I've never seen the behavior you describe.

Jerry

Sean Owen writes:

> The nssock notice is apparently benign. (I found the code after all. I
> needed to include .cpp files in my grep.)
>
> Here's the real problem. Under heavy load, we're consistently getting this
> behavior: The server suddenly kills all its conn threads (but not the
> aolserver system threads), and does not reopen them without being restarted
> manually. This happens across 4 servers, at approximately the same time,
> after about 40 minutes.
>
> Our load test peaks at 15 minutes, and our cache timeouts are set to 60
> seconds. The app continues to work fine until about the 40 minute point
> each time, before deciding to kill all its threads.
>
> No errors are reported.
>
> Does anyone have any idea what could cause this to happen?
>
> Thanks,
> Sean



Re: [AOLSERVER] Notice: nssock: server ready - resuming

2001-09-17 Thread Jerry Asher

It's in nssock/sock.cpp/SockReady.

I saw most of what you saw in load tests when rebuilding nsunix for
AOLserver 3, except I didn't notice the server killing all of its
connection threads.  In other words, I saw the message, but the system
still seemed to respond find.  In fact, the system responded so well (as
far as I could tell) that I changed the Notice to a Debug.

This on GNU/Linux Red Hat 6.1.

Jerry

At 02:38 PM 9/17/01, you wrote:
>All,
>
>Has anyone seen this output in the logs before?
>
>"Notice: nssock: server ready - resuming"
>
>We're running some load tests, and our machines get flooded with these (one
>per connection thread, per second at times) under sustained heavy load.
>
>Eventually, the server just kills all its connection threads and doesn't
>reopen them without a restart.
>
>I grepped through the source, but could find this output nowhere in the
>codebase.
>
>Any ideas?
>
>Thanks,
>Sean


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



Re: [AOLSERVER] nsv vs. ns_cache vs. ns_share

2001-09-10 Thread Jerry Asher

At 07:28 PM 9/10/01, you wrote:
>+-- On Sep 10, Jerry Asher said:
> > Modifying the table becomes lengthy, you need to verify on your platform
> > that you can swap a pointer in an atomic operation, readers can get old
> > values for some period of time, but readers never have to lock the table.
>
>Consider this:
>
> reader is accessing table A, uses whole time slice and gets
> preempted; it has pointers to table A internals in registers/stack
>
> writer copies table A to table B, makes table B active
>
> writer copies table B to table A, makes table A active
>
> reader gets CPU back, is still accessing table A but A's internals
> have been changed, reader gets SIGSEGV

I'm not sure.  It's true that the writer shouldn't just free the table -- I
guess that readers need to refcount it (and unrefcount it), and I'm not
sure how that's done or what that does in terms of overhead.   But I would
think that if it's a tcl coordinated refcounted table, it wouldn't go away
if the reading routine has inc'd it's ref count, the reader is just reading
from a table that "newer" readers wouldn't be reading from.

There does need to be some algorithm to reclaim storage from refcount 0
tables and to keep track of them.  I'm not sure how Tcl does that.

Or I might be all wet.


Jerry


Jerry Asher  [EMAIL PROTECTED]
1678 Shattuck Avenue Suite 161   Tel: (510) 549-2980
Berkeley, CA 94709   Fax: (877) 311-8688



  1   2   >