Re: [AOLSERVER] code patch to enable default filename extension
Why can't you just do this in your config file: ns_section "ns/server/${servername}/adp" ns_param map "*" ;# Any extension can be mapped. This should not interfere with deliverty of any registered mime types and should be as fast if not faster than the C patch. From: John Buckman <[EMAIL PROTECTED]> Reply-To: AOLserver Discussion To: AOLSERVER@LISTSERV.AOL.COM Subject: [AOLSERVER] code patch to enable default filename extension Date: Sat, 15 Apr 2006 14:55:29 +0100 I wanted to have a a default filename extension feature in aolserver, where http://localhost/foo fetches foo.adp, so that URLs in a web site don't need to show the .adp on every url. I read in the archives that openacs has this feature via a filter written in tcl, but I wanted the implementation to be fast, minimal and relatively transparent, so I wrote my own patch. What my code does is change a page fetch internally from: http://localhost/foo to http://localhost/foo.adp This .adp appending only occurs on URLs that have don't have an existing filename extension on them. Note that this patch also works correctly with directories that have a period in them. I'm pretty sure my code below is harmless and appears bug-free, but it's not generic enough as it currently stands to warrant putting into the core. I could make it work of an ns_param default_ext ".adp" if the patch seems interesting to others and there were interest to put it into the core. Given that it's a very small amount of C code, the overhead should be minimal with this feature enabled. To put this patch in, you should insert the code below in nsd/ request.c right above "request->url = ns_strdup(ds2.string);" Once you're happy with the patch you can remove the Ns_Log line. /* john buckman added 4/14/06 */ /* check if should add default filename extension of .adp */ /* only if no / on end of url which indicates a directory */ char * dotpos; if (ds2.string[ds2.length - 1] != '/') { /* if not . in the entire url, or if there is a dot before the final / (indicating a . in a directory name, which is ok, then add the default filename extension */ dotpos = strrchr(ds2.string, '.'); if ((dotpos == NULL) || (strchr(dotpos, '/') != NULL)) { Ns_DStringAppend(&ds2, ".adp"); Ns_Log(Notice, "added default extension to get '%s'", ds2.string); } } /* end john buckman added */ request->url = ns_strdup(ds2.string); === -- 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.
Re: [AOLSERVER] grab and use a conn thread from Tcl?
Curious as to why wouldn't you want to use ns_thread begindetached? By using a connection thread especially for a long running proc you reduce your potential to server request by N-1. From: Andrew Piskorski <[EMAIL PROTECTED]> Reply-To: AOLserver Discussion <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: [AOLSERVER] grab and use a conn thread from Tcl? Date: Wed, 17 Nov 2004 07:39:31 -0500 In my AOLserver Tcl code, I want to tell another thread to execute a longish-running procedure for me. Rather than create a new thread with 'ns_thread begin', I would prefer to simply grab one of AOLserver's idle conn threads from the pool and use that. But, there seems to be no API to let me to this. Why not? Would it not work for some reason? -- Andrew Piskorski <[EMAIL PROTECTED]> http://www.piskorski.com/ -- 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.
Re: [AOLSERVER] Ns_SetRequestAuthorizeProc has no Tcl Command
> This very thread is the proof that there is need for this, or? > Is this a good enough for you? Necessity is the mother of invention. Proof that there is need for this would be that someone has already implemented it, regardless of whether they make their implementation publically available. Having discussion threads about feature requests isn't proof that the features are necessary. :-) To bring one usage that is probably right around the corner is web services and machines communicating without user participation. One actual usage of this is the new ATOM API that is looking to supplement RSS and aggregation. Some background links on this are: http://bitworking.org/news/New_AtomAPI_Implementation_Release2 http://dannyayers.com/archives/001464.html http://www.intertwingly.net/wiki/pie/CommentAuthentication I can see where a lot of web services want more than simple AUTH but don't want to deal with the client side coding of SSL in their tools so digest seems at least a little better. As for implementing digest in AOLserver Rob Mayoff has already done the MD5 proc in his utils package here: http://dqd.com/~mayoff/aolserver/src/dqd_utils-1.3/ Anyway I see digest being a popular comprimise in alot of the client tools that will start to make themselves visible and if AOLserver wants to interact with these it may need it for web services. Best Regards, Carl Garland PS: Thanks to Nathan Folkman and others I will be starting at AOL for a contracting position very soon and look forward to being able to better serve both AOL and the AOLserver community. _ From Beethoven to the Rolling Stones, your favorite music is always playing on MSN Radio Plus. No ads, no talk. Trial month FREE! http://join.msn.com/?page=offers/premiumradio -- 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] Invalid command name "" error
[09/Oct/2003:03:06:32][187.6958089][-conn917-] Error: invalid command name "" invalid command name "" while executing "[ns_puts [clock format $fullpath(ctime) -format "%m/%d/%Y"] ]" Try the same thing without the [ ] around the ns_puts command. ie: ns_puts [clock format $fullpath(ctime) -format "%m/%d/%Y"] Best Regards, Carl _ Get 10MB of e-mail storage! Sign up for Hotmail Extra Storage. http://join.msn.com/?PAGE=features/es -- 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] Lengthy tcl interp initialization
Just as an alternative approach have you thought of breaking your 9900 procs into separate nsds that tackle separate problems and have a proxy server out front of your nsd that route the call to the appropriate nsd. For example if your app has a message board part . only load the common procs and the message board procs for that server. Then configure the proxy/load balancer to direct all call to the message boards to that nsd. I'm sure you are already multiple machines, right? Many load balancers now can direct the request by Url in addition to Round Robin, Weighted, Least Connection, etc. Just an idea, Carl Garland _ Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail -- 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] weird 0 length problems
Another question that comes to my mind. I do Ns_RegisterFilter on NS_FILTER_PRE_AUTH, that occasianally does Ns_ConnRedirect() and returns NS_FILTER_RETURN. Could this cause any problems? - in theory, it does about the same. I do this all the time with no problems however since noone responded to my issue earlier I will repost a question I do have with registered procs and ns_adp_return/break/abort. If you don't call ns_adp_abort, the page will continue executing. > Take a look at the following example: > > <% ns_returnredirect /someotherfile.adp > ns_log notice "still going..." %> I just came across something interesting about this and noticed a few points and have a couple questions: 1) ns_adp_abort is no longer in docs 2) Is the difference between ns_adp_break and ns_adp_abort? a) break returns data currently in buffer b) abort stops processing and returns no data c) I believe ns_adp_return just goes up 1 on the call stack 3) If you are processing a ns_register_proc for an url it doesn't seem to allow you to any of the 3 calls after an ns_returnerror/ns_returnfile/etc What is the prefered method of jumping out of the callstack if you are in i registered proc for an url? I had never before seen an error processing ns_adp_break/return/abort before this. I can deal with this problem but found it interesting. This may not be a bug but a feature. If so we should create an AOLserver quirks page in the docs, on the wiki and add in with other obscure things like not call ns_getform more than once. Best Regards, Carl Garland _ Tired of spam? Get advanced junk mail protection with MSN 8. http://join.msn.com/?page=features/junkmail -- 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] weird 0 length problems
Previous message about ns_adp_abort/break/return was actually from me Carl Garland not Dennis. Sorry for missing the name field for input to the mail list on web form. -- 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] Ever-increasing memory usage?
> Just to be clear - we are not explicitly using namespaces anywhere in our > scripts. We are just "set"-ing local variables, e.g.: > Of course not. But last time I checked (admitedly a long time ago, in an older 3.x version of AOLserver), local variables still hung around in the connection thread where they were created, even after the connection was closed. In other words, if you did "set foo bar" on a page being serviced by thread conn1, the next time you used conn1, variable foo would still be there. I'm not sure when or where the Tcl garbage collector might come into play, but since you did "set foo" in the top level presumably foo will never go out of scope and be garbage collected until the thread is destroyed. I believe this code is called at every connection close to clear up the interpeters TLS. _ns_cleanupinterp autoclose foreach g [info globals] { if {![string match tcl* $g] && ![string match error* $g] && [string compare env $g] != 0} { upvar #0 $g gv if [info exists gv] { unset gv } } } if $autoclose { foreach f [ns_getchannels] { if {![string match std* $f]} { catch {close $f} } } } Now if you are naming variable that begin with tcl, error, or info you may be in trouble since the gc will bypass freeing that memory. I am curious how many variables you are setting in the pages. AOLserver uses a "high water mark" memory allocator that once it is out of space will request another block of memory twice as large as the last one it had to request. This makes it very fast and while the variables are freed from the stack the memory has still been allocated and is not released but reused. It is possible that you are allocating very large chunks of memory so that it doesn't find a big enough chunk available when attempting to set new variable? How many variables are you setting (avg, max) per page? Best Regards, Carl Garland _ Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail -- 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] Tcl profiling suggestions with AOLserver?
Sorry all tab autosent email ... wasnt done type... continues ... else { set pstat ... nsv_set pagecount $page 0 } nsv_incr pagecount $page nsv_set pagestat $page $pstat This doesn't remove the race condition completely but makes if much finer time slot in which to fail. Remember that the profiling code is generally meant to be a ballpark figure to help spot rough spots and spot trends and does put a minor load on the server. As a side note a site of mine which has the profiling turned completely on with Verbose on all db queries but is not touching the db for most pages but still doing user authentication, ad serving, membership checking, object loading, customization of user output, most pages once in cache will profile at about 1000 microseconds including the profile code so performance for that profiling isnt too bad ... Best Regards, Carl _ Add photos to your e-mail with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail -- 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] Tcl profiling suggestions with AOLserver?
I am seeing intermittent errors from it: [10/Mar/2003:23:15:58][1332.816][-conn:intranet::2] Error: can't read "timewas": no such variable can't read "timewas": no such variable while executing "if {$timewas != 0 } { set page [ns_conn url] set conntime [expr [clock clicks] - $timewas] if {[nsv..." (procedure "EndTime" line 9) invoked from within "EndTime trace" and I'm not sure how this can be happening. Any thoughts anyone? I am the author of that article and also came across that problem. Since the code is mainly useful as a general guide I wasn't too worried about the issue I simple changed the offended code to: if {[info exists timewas] && $timewas != 0} { That got rid of that problem for me. I am also curious as to how it was possible but haven't tracked down the reason. There is at least one race condition also in the code Instead of holding the # of hits in the nsv pagestat variable I moved it to its own nsv The reason for this is if the server is under heavy load and multiple people are accessing the same page at exactly the same time while you are mucking with the pagestat variable you may lose a few incr on the hits so you change it to scan [nsv_get pagestat $page] {%s%s%s%s%s} laststamp lastconn min max avg set hits [nsv_get pagecount $page] and make the else { set pstat "[ns_time] $conntime $conntime $conntime $conntime Being able to get to the next level of profiling information is crucial though - you want to be able to find out why a slow page/URL detected by the above is so slow and stepping down to command level profiling at that point is useful. There's lots of goodies in tcllib (The Standard Tcl Library) including a pure Tcl profiling module. I don't think it offers the real/cpu timing breakdown, but its a step in the right direction and may offer enough information. Quite what would be required to get it working I'm not sure - I guess turning it on at initialization and writing some pages that extract and present the data collected. AOLserver 3.5 had profiling at URL level and Tcl command level built in. This has disappeared in 4.x Was this intentional? Remember that all this profiling comes at a cost and should probably be used judiciously on a production server or for short periods of time. Best Regards, Carl _ Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail -- 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/
[AOLSERVER] March Madness on AOLserver
For those of you interested in March Madness or just curious as to check out a site built using aolserver architecture ... check out www.23pools.com Users can build their own blogs, create their own groups, and build contests/pools of multiple types. The majority of the site never hits the db and uses nsv caches extensivly. Check out the process times and technical details at the bottom of every page. I've incorporated Amazon web services, Blogger API, and XML-RPC into the site. Be sure to check out the site technical details in the company info section and for those brave enough to actually enter March Madness or any other pools ... good luck :) Let me know if your interested in how I did any of the functionality. Best Regards, Carl Garland _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 -- 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/
[AOLSERVER] Announcing new utility ... aolserver based postgresql schema comparison
Announcing an launch of a new utility for comparing postgresql schemas and creating alter scripts for changing one schema into another. This utility is built using AOLserver and hopefully will introduce some PG users to the wonders of AOLserver. If you are using postgresql and have a testing and a development server this utility will be very useful for migrating the changes. There is a demo server at www.23pools.com:8000 and the project page with source is at www.sourceforge.net/projects/pgdiff. If you need help or want a personal walkthru send me an email at [EMAIL PROTECTED] and we can set up a demonstration. Please test it out and let me know how I can make it better. The demonstration server doesn't allow user to input arbitrary sql input for security reasons but if you have a test case you can also email 2 schema's in files and I can email you back results or you could download and use utility yourself. Please help me to make this tool better for the community, Stop by, test demo, try to find any errors (none reported yet) and please send me some feedback. Best Regards, Carl Garland _ Protect your PC - get McAfee.com VirusScan Online http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
Re: [AOLSERVER] ImageMagick
>What happens when AOLserver of 800M+ forks >to do an "exec _whatever_" ? >Just curious > >From what I recall, Jim said that they have taken steps to not exec from the main AOLserver process. These calls are passed off (not sure how) to other processes that take care of the execs. It also speeds up the main aolserver process by just sending these requests to some other (lightweight) aolserver or other process. _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.
Re: [AOLSERVER] [[AOLSERVER] AOLserver 3.4.2, 3.2.1, and NEW DOCS]
>One question about the new docs, if nsv_ calls are the preferred way to do >shared variables why are still not documented with the AOLserver docs? > If you look under the tcl developement section you will see a link to the nsv documentation or just click here... http://www.aolserver.com/docs/devel/tcl/nsv-commands.adp Best Regards, Carl Garland _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
Re: [AOLSERVER] 3.4 memory usage
>After running 12 hours, we're seeing 28 nsd threads using 253MB. Does >that still seem reasonable for memory usage? Our baseline for this >server is 81MB right after the server starts with around 12 threads. >This server handled 762K requests today, total (less than that in the >12 hour period). > >AS 3.4, TCL 7.6, Linux 2.2.19 Are you running 7.6 for sure? I thought team dropped support for 7.6 in release after 3.3.1 ??? You said earlier that you weren't holding any info in ns_share ... are you creating any nsv variables at all? Also I'm curious how long is your server startup with and without setting the minthreads==maxthreads? Have you tried running it in this fashion? If there is a potential leak in the deletion/creation method of threads then never deleting them may help memory? What is your adp cache setup as and do you have cache for mmap/fastpath setup? If you could post a page somewhere with a *sanitized* listing of the telemetry output it would help. Hopefully we can track this down, CarlGet your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] 3.4 memory usage
Im curious why you dont just set minthreads = maxthreads at startup to reduce load. >This server does not accumulate any data in ns_shares, so I'm trying >to figure out if this 45MB memory growth is reasonable for adding 6 >additional threads. It doesn't seem reasonable. Anyone have >suggestions for tracking down what's happening? Remember that the 6 threads may not represent all threads that have been started/died off. If like you said in previous post you have maxthreads = ~ 40 then 2 MB per thread does not seem unreasonable to me for a production server. Remember also that once allocated that memory may be later reused in the zippy alloc method. So even if your memory is showing 85 MB that may be what peak was but may not grow much larger if peak activity has been hit. Best Regards, Carl GarlandGet your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] IE and MIME types
>can't be Daniel's problem. If he's getting TCL code in the browser, then >AOLserver never parsed the code and even tried to execute it. I couldnt find beginning of this thread on listserv archive but you do have the enable tcl pages variabe turned on in config file right? ns_param enabletclpages true; Best regards, Carl Garland _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
Re: [AOLSERVER] nsv vs. ns_cache vs. ns_share
>I have verified the lock contention problem by viewing mutex statistics. >The >offending nsv bucket got 100 times more locks than any other, and under >heavy load was busy up to 48% of the time. Not good. > >I also verified that the hashtable in question was the primary source of >the >locks. It's a single nsv. It can be (and frequently is) used multiple times >per page. I did a little load/mutex testing and these are my results: Setting: load test was using ab on local host and was using existing app that has approx 70 main nsv arrays. For test I preloaded one of the arrays with 100,000 extra distince values at server startup in addition to other values that would be referenced on the page that ab would call. The targeted page would reference the *heavy* array 13 times during test in addition to a few other refs to other nsv in bucket. The page that was loaded had ~100 nsv locks required for full load. Am using aolserver 3.3.1 on linux 2.4.3 kernel. I have 11 buckets setup and statistic/mutex tracking set on in config file. The tested page does 1 db query. Page Load Results for 1000 pages at concurrency 5 nsd7.6 returned 85 page/sec at 613 kb/sec nsd8.x returned 63 page/sec at 452 kb/sec Mutex results: 7.6 nsv array that contained the 100,000 entries grabed 17,100 locks during test and was busy 106 times. As a side note another nsv that had under 200 entries grabbed ~37,000 locks during test and was busy 192 times. 8.x test while slower in performance had less mutex contention with the targeted nsv with 100,000 entries only waiting 10 times for the 17,000 locks. The other entry that did wait 192 times was also reduced to 105 times I have previously load tested this setup with over 1,000,000 objects loaded (made the process over 400 Meg :) and did not notice any significant performance decrease compared to non heavy cache. I am not convinced that the number of entries in the hash is what is adversly effecting mutex contention. I'm also not convinced that load is effected too much by waiting but Im interested in what may be causing these issues. Can you post more info ...and possibly offending code samples? Best regards, Carl Garland _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
Re: [AOLSERVER] Me being lame
Hey Scott, this is to inform you that I've been extemely lame and havent gotten in touch with the Digital City folks about incorporating the version numbers in .h files. Its been hectic week with my system that was looking to be deployed frying on me. Took couple days of trying to fix but ended up having to reset from scratch ... Also Digital City has laid some off since last week including one of my best friends that works there but I'm sure Jim & Kriston are intact. I will try and at least send email note requesting Kriston respond but may not get to talk to any for a little bit. Had good time chatting last week and prob see you in a little bit. Best Regards, Carl Get your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] Reminder: AOLserver weekly chat today
>Sorry guys, did I crash AIM? All I know was that right after >sending >details of how to make money fast (or something like that I forget), >suddenly I was kicked out and couldn't reconnect. I was wondering why you left as soon as I entered the room :) Didnt really miss anything not much talk after that ... Later, Carl GarlandGet your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] Anyone still use the AOLserver IM chat room?
I've been showing up for the weekly chats, I think I've only missed one in last few months. Lately its been only me and IanFink. Be glad to see more people show up. Best Regards, Carl Garland _ Get your FREE download of MSN Explorer at http://explorer.msn.com
[AOLSERVER] AOLserver presentation at NOVALUG this Saturday
Subject pretty much says it all, this Sat May 5, I will be giving a presentation on AOLserver to Northern Virginias Linux User Group. It will probably last about 45 minutes and will have q/a followup. I will touch on history, OpenACS/NSD, capabilities, examples, etc. All are invited and the meetings are usually very informative with between 50-100 people. Previous presentations have included the author of SNORT IDS, LDAP, Ruby, etc. The web page for directions and more info in general is http://novalug.tux.org>http://novalug.tux.org
Re: [AOLSERVER] POSTing from TCL
One option that you could implement would be to make the post focus go to the same page and add in a hidden form var or use referer to check if coming from a submit / POST action. At the beginning of the page if it is reentrant than go thru validation routine and either: 1) Repopulate with values and report error 2) Call processing procedure with valid inputs and redirect to other page. Just one solution of course but I have used it reliably before. Best Regards, Carl Garland _ Get your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] What parts of the ns_* API do you use the most?
>Great presentation! Clearly, I haven't looked at the UrlTracking >config. option -- it's not even in my config. file so I don't think >I ever would have known about it. > Thanks and oops, the UrlTracking config param was just another parameter that I added so as to add the ability to not have the overhead of running the filter on production systems that dont need this profiling. Just add the param in the main config file. I need to make clearer that it is not a normal option. _ Get your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] What parts of the ns_* API do you use the most?
Also if you are interested in profiling the time for page processing I've got a wimpy presentation that might be useful at: http://www.arsdigita.com/wp/display/27845/27849.wimpy _ Get your FREE download of MSN Explorer at http://explorer.msn.com
Re: [AOLSERVER] What parts of the ns_* API do you use the most?
Here are my results ... you know you can get a list of the actual runtime tcl commands ... including ns_ if you have tclstats on in your config dir. ns_browsermatch 1 ns_cp 1 ns_dateentrywidget 1 ns_findrowbyid 1 ns_http_read 1 ns_localsqldate 1 ns_logroll 1 ns_mktemp 1 ns_openexcl 1 ns_parseheader 1 ns_returnnotfound 1 ns_setexpires 1 ns_set_precision 1 ns_shutdown 1 ns_sockopen 1 ns_table3 1 ns_timeentrywidget 1 ns_unschedule_proc 1 ns_updatebutton 1 ns_updateheader 1 ns_url2file 1 ns_writes 1 ns_buildsqltimestamp 2 ns_configsections 2 ns_findset 2 ns_htmlselect 2 ns_paircmp 2 ns_paren 2 ns_perm 2 ns_perm_authorization_p 2 ns_pg 2 ns_putscript 2 ns_quotehtml 2 ns_returnbadrequest 2 ns_rmdir 2 ns_set_vars 2 ns_stats 2 ns_striphtml 2 ns_table 2 ns_tagelementset 2 ns_uudecode 2 ns_uuencode 2 ns_buildsqldate 3 ns_buildsqltime 3 ns_configsection 3 ns_dbquotename 3 ns_issmallint 3 ns_localtime 3 ns_atclose 4 ns_cache_size 4 ns_dbformvalue 4 ns_dbformvalueput 4 ns_fastpath 4 ns_httpopen 4 ns_parsehttptime 4 ns_parsesqltime 4 ns_returnunauthorized 4 ns_sourceproc 4 ns_atshutdown 5 ns_cache_names 5 ns_register_proc 5 ns_urldecode 5 ns_adp_puts 6 ns_localsqltimestamp 6 ns_parsesqltimestamp 6 ns_thread 6 ns_cache_stats 7 ns_parsesqldate 7 ns_tagelement 7 ns_share 8 ns_crypt 9 ns_returnerror 9 ns_httpget 10 ns_perm_group_added_for_this_forum 10 ns_schedule_proc 10 ns_config 11 ns_column 12 ns_dbquotevalue 12 ns_parsetime 12 ns_server 14 ns_adp_return 17 ns_formvalueput 17 ns_getform 22 ns_rand 23 ns_unlink 23 ns_register_filter 26 ns_adp_include 27 ns_info 48 ns_httptime 49 ns_time 68 ns_fmttime 71 ns_urlencode 73 ns_adp_break 75 ns_return 77 ns_write 114 ns_log 129 ns_returnredirect 144 ns_queryget 163 ns_conn 186 ns_set 1771 ns_db 2186 ns_puts 5948 nsv_id 1 nsv_vars 2 NSV_Global 3 nsv_names 14 nsv_incr 34 nsv_unset 40 nsv_exists 69 nsv_array 114 nsv_append 143 nsv_set 260 nsv_get 484 _ Get your FREE download of MSN Explorer at http://explorer.msn.com