DevEdge Newsgroup FAQ:

NSAPI
DEVEDGE CHAMPIONS FOR THE NSAPI NEWSGROUP

Philippe Le Berre, works for Hewlett-Packard in Grenoble (France) and specializes in e-commerce and Internet security.

Scott Leerssen, works for Hewlett-Packard in Atlanta (USA) and specializes in Internet and system security.

Last Updated: 9.98  

Introduction to NSAPI

  1. What is NSAPI?
  2. Which Netscape servers support NSAPI?
  3. How has the NSAPI changed from 1.x to 2.x?
  4. How has the NSAPI changed from 2.x to 3.x?
1.1: What is NSAPI? 1.2: Which Netscape servers support NSAPI? 1.3: How has the NSAPI changed from 2.x to 3.0? 1.4: How has the NSAPI changed from 2.x to 3.0? Back to the Question Summary, or to the top.

Compilation & Debugging

  1. How do I compile an NSAPI module?
  2. How do I combine C++ code with NSAPI?
  3. How do I debug my NSAPI module?
  4. How can I Purify my NSAPI code?
2.1: How do I compile an NSAPI module? 2.2: How do I combine C++ code with NSAPI? 2.3: How do I debug my NSAPI module? 2.4: How can I Purify my NSAPI code? Back to the Question Summary, or to the top.

Cookies

  1. How do I set a cookie with NSAPI?
  2. How do I find the value of a cookie from NSAPI?
  3. Can I implement a cookie-based security scheme with NSAPI?
  4. How can I set a cookie and redirect at the same time with NSAPI?

3.1: How do I set a cookie with NSAPI?

3.2: How do I find the value of a cookie from NSAPI? 3.3: Can I implement a cookie-based security scheme with NSAPI? 3.4: How can I set a cookie and redirect at the same time with NSAPI? Back to the Question Summary, or to the top.

Threads

  1. What's the deal with NSAPI and threads?
  2. What does the message "select thread miss" mean, and what can I do about it?
  3. How do I use NSAPI semaphores, critical sections and condition variables (condvars)?
  4. How do I set the thread stack size?

4.1: What's the deal with NSAPI and threads?

4.2: What does the message "select thread miss" mean, and what can I do about it?

4.3: How do I use NSAPI semaphores, critical sections and condition variables (condvars)?

4.4: How do I set the thread stack size?

Back to the Question Summary, or to the top.

PBLOCKs

  1. How do I store non-text values in a pblock?
  2. How do I access multiple values in a pblock with the same name?
  3. How can I tell when values are available in parameter blocks?
  4. How can I traverse pblock's entries?
5.1: How do I store non-text values in a pblock? 5.2: How do I access multiple values in a pblock with the same name? 5.3: How can I tell when values are available in parameter blocks? 5.4: How can I traverse pblock's entries? Back to the Question Summary, or to the top.

Redirection

  1. How do I dynamically redirect a request using NSAPI?
  2. My NSAPI SAF is handling a POST or PUT. How can I keep the server from "hanging" when I try to redirect?
  3. Why is my redirect not working when SSL is turned on?
6.1: How do I dynamically redirect a request using NSAPI? 6.2: My NSAPI SAF is handling a POST or PUT. How can I keep the server from "hanging" when I try to redirect? 6.3: Why is my redirect not working when SSL is turned on? Back to the Question Summary, or to the top.

Authentication & SSL

  1. How does basic authentication happen?
  2. Where is the Authentication header stored?
  3. How do I find the the supplied username and password through NSAPI?
  4. How do I process a client certificate with the NSAPI?
  5. Why does my NSAPI module fail with Enterprise 3.0/3.01 when SSL is turned on?
  6. How do I use the new ACL mechanism for custom authentication?
  7. How do I access SSL and cryptographics functions?
7.1: How does basic authentication happen? 7.2: Where is the Authentication header stored? 7.3: How do I find the the supplied username and password through NSAPI? 7.4: How do I process a client certificate with the NSAPI? 7.5: Why does my NSAPI module fail with Enterprise 3.0/3.01 when SSL is turned on? 7.6: How do I use the new ACL mechanism for custom authentication? 7.7: How do I access SSL and cryptographics functions? Back to the Question Summary, or to the top.

Query string, POST, Upload and CGIs

  1. How do I process a query string with NSAPI?
  2. How can I use NSAPI to post-process the output of a CGI script?
  3. How does the NSAPI handle environment variables?
  4. How do I upload a file?
  5. How do I use Content-length and If-Modified-Since from my Service directive?
  6. Why does Microsoft's Internet Explorer "spin" on CGI and NSAPI output that works with Navigator and early versions of IE?
8.1: How do I process a query string with NSAPI? 8.2: How can I use NSAPI to post-process the output of a CGI script? 8.3: How does the NSAPI handle environment variables? 8.4: How do I upload a file? 8.5: How do I use the Content-length and If-Modified-Since from my Service directive? 8.6: Why does Microsoft's Internet Explorer "spin" on CGI and NSAPI output that used to work with Navigator, Communicator, and earlier versions of IE? Back to the Question Summary, or to the top.

Configuration and Errors

  1. What causes mmap() problems?
  2. What means the LateInit=yes function?
  3. What is the maximum URL length?
  4. How to use the admin server to configure a plug-in?
  5. What does uxwdog do?
9.1: What causes mmap() problems? 9.2: What means the LateInit=yes function? 9.3: What is the maximum URL length? 9.4: How to use the admin server to configure a plug-in? 9.5: What does uxwdog do? Back to the Question Summary, or to the top.

Miscellaneous

  1. How do I use Sybase's ctlib with NSAPI?
  2. How do I get the servername and port number?
  3. But I tried that, and it came back NULL. What's wrong?
  4. How can I trick the file save as dialog box in the browser to show a different file name?
  5. How to prevent the server to generate standard HTTP headers?
  6. Does REQ_ABORTED really abort the request?
10.1: How do I use Sybase's ctlib with NSAPI? 10.2: How do I get the servername and port number? 10.3: But I tried that, and it came back NULL. What's wrong? 10.4: How can I trick the file save as dialog box in the browser to show a different file name? 10.5: How to prevent the server to generate standard HTTP headers? 10.6: Does REQ_ABORTED really abort the request? Back to the Question Summary, or to the top.


Previous revisions compiled by Mike Shaver, the Chief Technology Officer and head geek for Ingenia Communications, and Steve Buffum of Radian International. Special thanks to Rob McCool, Hitesh A. Bosamya .

Content contributed voluntarily by our awesome DevEdge Champions based on peer-to-peer discussion in the DevEdge newsgroups. While Netscape hosts them, it does not offer any direct developer support via the newsgroups.

This FAQ is intended as a developer resource. Any reference to third parties or third-party products should not be construed as an endorsement by Netscape Communications Corporation.


Copyright © 1999 Netscape Communications Corporation.