+Wed Jan 3 21:55:30 1996 Theodore Y. Ts'o <tytso@dcl>
+
+ * gss-client.c (main, client_establish_context): If the -d flag is
+ given to the client, then try to delegate credentials when
+ establishing the context.
+
Thu Oct 12 11:15:28 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* gss-misc.c (recv_token): When continuing partial read, decrease
The server's command line usage is
- gss-server [-port port] service_name
+ gss-server [-port port] [-v2] service_name
where service_name is a GSS-API service name of the form
"service@host". The server will accept TCP connections on port
-(default 4444) and establish contexts as service_name.
+(default 4444) and establish contexts as service_name. The -v2 option
+means that the GSSAPI v2 calls should be used (and tested).
+
The client's command line usage is
- gss-client [-port port] host service_name msg
+ gss-client [-port port] [-v2] [-d] host service_name msg
where host is the host running the server, service_name is the service
name that the server will establish connections as, and msg is the
message. The client connects to the TCP on <host:port> (default 4444)
-and performs the exchange.
+and performs the exchange. The "-d" option specifies delegation -
+a forwardable TGT will be sent to the server, which will put it in
+its credential cache (you must kinit -f for this to work).
+The -v2 option means that the GSSAPI v2 calls should be used (and
+tested).
If you are using this sample application with OpenVision's Kerberos 5
GSS-API mechanism:
int send_token();
int recv_token();
+
+int deleg_flag;
void display_status();
extern FILE *display_file;
usage()
{
- fprintf(stderr, "Usage: gss-client [-port port] [-v2] host service msg\n");
+ fprintf(stderr, "Usage: gss-client [-port port] [-d] [-v2] host service \
+msg\n");
exit(1);
}
int v2 = 0;
display_file = stdout;
+ deleg_flag = 0;
/* Parse arguments. */
argc--; argv++;
port = atoi(*argv);
} else if (strcmp(*argv, "-v2") == 0) {
v2 = 1;
+ } else if (strcmp(*argv, "-d") == 0) {
+ deleg_flag = GSS_C_DELEG_FLAG;
} else
break;
argc--; argv++;
gss_context,
target_name,
GSS_C_NULL_OID,
- GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG,
+ GSS_C_MUTUAL_FLAG | GSS_C_REPLAY_FLAG |
+ deleg_flag,
0,
NULL, /* no channel bindings */
token_ptr,