Is there any defintion of the protocol used between the gateway and auth server to verify users and communicate. I see lots of good information in the Intoduction.txt defining classes and sort of a high level abstract of what goes on between the gateway and the auth server, but i don't see message formats, transport mechanisms, state machine things, and what not.

I think there is a place for this as lots of people are trying to write c versions of the gateway to run on embedded hardwares and defining independently of the source code things referred to in it; like the ticket, what punching the ticket means, what http codes are sent back forth and what they mean, etcetera, could be really helpful.

I have started below with some VERY rough beginnings after looking through the gateway src for too many hours.

Terminology

connection
A transport layer virtual circuit established between two programs for the purpose of communication.;
message
The basic unit of NOCAT communication, consisting of a HTTP GETs, POSTs, REDIRECTs and status codes.;
ticket
The concept describing the nocat state information passed between gateways and clients, clients and auth servers, auth servers and gateways. Tickets can be punched, authenticated, verified, thrown in someone's face, and so much more.;
gateway
A program implementing the gateway side of the nocat protocol;
auth server
A program implementing the auth server side of the nocat protocol.;
  • NOCAT Message
    1. Message Types
  • NOCAT messages consist HTTP Gets, POSTs, REDIRECTs, and status codes sent from the gateway to auth server and auth server to gateway.

    Location: https://AuthServiceAddr/cgi-bin/login?token=token_value&timeout=timeout_value&redirect=original_destination_url_of_client&mac=clients_mac_address <html> <body bgcolor="white" text="black"> You should be redirected now. If not, click <a href="https://auth.nocat.net/cgi-bin/login?token=%241%241%24HQPsTAITd3i2jrLKlchyq%2f&timeout=600&redirect=http%3a%2f%2farchives%2emath%2eutk%2eedu%2ftopics%2fnumberTheory%2ehtml&mac=00%3a02%3a2D%3a1E%3a4F%3a25">here.</a> </body> </html>}}}


    BEGIN PGP SIGNED MESSAGE


    Hash: SHA1

    Timeout IdleTimeout Token clients_token Mode renew|possibly something else Mac clients_mac User username Action Permit|DENY|possibly something else line=


    BEGIN PGP SIGNATURE


    }}}

    6 NOCAT Firewall interactions


    [CategorySoftware]