[net.unix-wizards] I.P. & IPOPT_SECURITY

emks@uokvax.UUCP (01/26/85)

Can anyone explain the meaning of some #define items in <netinet/ip.h>?
I've attached an extract of some of the pertinent parts of the include
file below.

The entries are:

1.  #define	IPOPT_SECURITY		130		/* provide s,c,h,tcc */

	What are "s,c,h,tcc"?  Where is this define used?

2.  /* bits for security (not byte swapped) */
    #define	IPOPT_SECUR_UNCLASS	0x0000
    [...through...]
    #define	IPOPT_SECUR_TOPSECRET	0x6bc5

	Where/when are these used?

	Are these used for routing/rejection/warning/etc.?  If so, what does
	these actions?

3.  And, finally, any of the TIMESTAMP options.  General explanations.

I'll appreciate all help (via mail or message response).  Thank you in advance.

		kurt

==========  ==========  ===========
Extract from <netinet/ip.h>:
/*	ip.h	6.1	83/07/29	*/

/*
 * Definitions for internet protocol version 4.
 * Per RFC 791, September 1981.
 */
#define	IPVERSION	4

. . . . .

/*
 * Definitions for options.
 */

. . . . .

#define	IPOPT_RR		7		/* record packet route */
#define	IPOPT_TS		68		/* timestamp */
#define	IPOPT_SECURITY		130		/* provide s,c,h,tcc */
#define	IPOPT_LSRR		131		/* loose source route */
#define	IPOPT_SATID		136		/* satnet id */
#define	IPOPT_SSRR		137		/* strict source route */

/*
 * Time stamp option structure.
 */
struct	ip_timestamp {
	u_char	ipt_code;		/* IPOPT_TS */
	u_char	ipt_len;		/* size of structure (variable) */
	u_char	ipt_ptr;		/* index of current entry */
	u_char	ipt_flg:4,		/* flags, see below */
		ipt_oflw:4;		/* overflow counter */
	union {
		n_long	ipt_time[1];
		struct	ipt_ta {
			struct in_addr ipt_addr;
			n_long ipt_time;
		} ipt_ta[1];
	}
};

/* flag bits for ipt_flg */
#define	IPOPT_TS_TSONLY		0		/* timestamps only */
#define	IPOPT_TS_TSANDADDR	1		/* timestamps and addresses */
#define	IPOPT_TS_PRESPEC	2		/* specified modules only */

/* bits for security (not byte swapped) */
#define	IPOPT_SECUR_UNCLASS	0x0000
#define	IPOPT_SECUR_CONFID	0xf135
#define	IPOPT_SECUR_EFTO	0x789a
#define	IPOPT_SECUR_MMMM	0xbc4d
#define	IPOPT_SECUR_RESTR	0xaf13
#define	IPOPT_SECUR_SECRET	0xd788
#define	IPOPT_SECUR_TOPSECRET	0x6bc5

. . . . .