From ae6a813d8f6d4f96a18a58cfb7e0a4e0548964b8 Mon Sep 17 00:00:00 2001 From: Ezra Peisach Date: Tue, 5 Jun 2001 20:58:31 +0000 Subject: [PATCH] client.c, server.c: Cleanup assignments in conditionals git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@13273 dc483132-0cff-0310-8789-dd5450dbe970 --- src/appl/user_user/ChangeLog | 4 + src/appl/user_user/client.c | 236 ++++++++++++++++++----------------- src/appl/user_user/server.c | 186 ++++++++++++++------------- 3 files changed, 224 insertions(+), 202 deletions(-) diff --git a/src/appl/user_user/ChangeLog b/src/appl/user_user/ChangeLog index 234fec43c..f34201318 100644 --- a/src/appl/user_user/ChangeLog +++ b/src/appl/user_user/ChangeLog @@ -1,3 +1,7 @@ +2001-06-05 Ezra Peisach + + * client.c, server.c: Cleanup assignments in conditionals. + 1999-10-26 Wilfredo Sanchez * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES, diff --git a/src/appl/user_user/client.c b/src/appl/user_user/client.c index b5dcd0de8..6a3cbd9e8 100644 --- a/src/appl/user_user/client.c +++ b/src/appl/user_user/client.c @@ -53,133 +53,133 @@ char *argv[]; krb5_ccache cc; krb5_creds creds, *new_creds; krb5_data reply, msg, princ_data; - krb5_auth_context auth_context = NULL; - krb5_ticket * ticket = NULL; - krb5_context context; + krb5_auth_context auth_context = NULL; + krb5_ticket * ticket = NULL; + krb5_context context; unsigned short port; - if (argc < 2 || argc > 4) - { + if (argc < 2 || argc > 4) { fputs ("usage: uu-client [message [port]]\n", stderr); return 1; - } + } retval = krb5_init_context(&context); if (retval) { - com_err(argv[0], retval, "while initializing krb5"); - exit(1); + com_err(argv[0], retval, "while initializing krb5"); + exit(1); } - if (argc == 4) - { + if (argc == 4) { port = htons(atoi(argv[3])); - } + } else if ((serv = getservbyname ("uu-sample", "tcp")) == NULL) - { + { fputs ("uu-client: unknown service \"uu-sample/tcp\"\n", stderr); return 2; - } - else - { + } else { port = serv->s_port; - } + } - if ((host = gethostbyname (argv[1])) == NULL) - { - fprintf (stderr, "uu-client: can't get address of host \"%s\".\n", argv[1]); + if ((host = gethostbyname (argv[1])) == NULL) { + fprintf (stderr, "uu-client: can't get address of host \"%s\".\n", + argv[1]); return 3; - } - - if (host->h_addrtype != AF_INET) - { + } + + if (host->h_addrtype != AF_INET) { fprintf (stderr, "uu-client: bad address type %d for \"%s\".\n", host->h_addrtype, argv[1]); return 3; - } + } hname = strdup (host->h_name); #ifndef USE_STDOUT - if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) - { + if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { com_err ("uu-client", errno, "creating socket"); return 4; - } else { + } else { cli_net_addr.sin_family = AF_INET; cli_net_addr.sin_port = 0; cli_net_addr.sin_addr.s_addr = 0; - if (bind (s, (struct sockaddr *)&cli_net_addr, sizeof (cli_net_addr)) < 0) - { + if (bind (s, (struct sockaddr *)&cli_net_addr, + sizeof (cli_net_addr)) < 0) { com_err ("uu-client", errno, "binding socket"); return 4; - } - } - + } + } + serv_net_addr.sin_family = AF_INET; serv_net_addr.sin_port = port; i = 0; - while (1) - { - if (host->h_addr_list[i] == 0) - { + while (1) { + if (host->h_addr_list[i] == 0) { fprintf (stderr, "uu-client: unable to connect to \"%s\"\n", hname); return 5; - } + } + memcpy ((char *)&serv_net_addr.sin_addr, host->h_addr_list[i++], sizeof(serv_net_addr.sin_addr)); - if (connect(s, (struct sockaddr *)&serv_net_addr, sizeof (serv_net_addr)) == 0) - break; + + if (connect(s, (struct sockaddr *)&serv_net_addr, + sizeof (serv_net_addr)) == 0) + break; com_err ("uu-client", errno, "connecting to \"%s\" (%s).", hname, inet_ntoa(serv_net_addr.sin_addr)); - } + } #else s = 1; #endif - if (retval = krb5_cc_default(context, &cc)) - { + retval = krb5_cc_default(context, &cc); + if (retval) { com_err("uu-client", retval, "getting credentials cache"); return 6; - } + } memset ((char*)&creds, 0, sizeof(creds)); - if (retval = krb5_cc_get_principal(context, cc, &creds.client)) - { + + retval = krb5_cc_get_principal(context, cc, &creds.client); + if (retval) { com_err("uu-client", retval, "getting principal name"); return 6; - } - - if (retval = krb5_unparse_name(context, creds.client, &princ)) - com_err("uu-client", retval, "printing principal name"); + } + + retval = krb5_unparse_name(context, creds.client, &princ); + if (retval) { + com_err("uu-client", retval, "printing principal name"); + return 7; + } else - fprintf(stderr, "uu-client: client principal is \"%s\".\n", princ); + fprintf(stderr, "uu-client: client principal is \"%s\".\n", princ); - if (retval = krb5_get_host_realm(context, hname, &srealms)) - { + retval = krb5_get_host_realm(context, hname, &srealms); + if (retval) { com_err("uu-client", retval, "getting realms for \"%s\"", hname); return 7; - } + } - if (retval = krb5_build_principal_ext(context, &creds.server, - krb5_princ_realm(context, creds.client)->length, - krb5_princ_realm(context, creds.client)->data, - 6, "krbtgt", - krb5_princ_realm(context, creds.client)->length, - krb5_princ_realm(context, creds.client)->data, - 0)) - { + retval = + krb5_build_principal_ext(context, &creds.server, + krb5_princ_realm(context, creds.client)->length, + krb5_princ_realm(context, creds.client)->data, + 6, "krbtgt", + krb5_princ_realm(context, creds.client)->length, + krb5_princ_realm(context, creds.client)->data, + 0); + if (retval) { com_err("uu-client", retval, "setting up tgt server name"); return 7; - } - + } + /* Get TGT from credentials cache */ - if (retval = krb5_get_credentials(context, KRB5_GC_CACHED, cc, - &creds, &new_creds)) - { + retval = krb5_get_credentials(context, KRB5_GC_CACHED, cc, + &creds, &new_creds); + if (retval) { com_err("uu-client", retval, "getting TGT"); return 6; - } + } i = strlen(princ) + 1; @@ -188,82 +188,90 @@ char *argv[]; princ_data.length = i; /* include null terminator for server's convenience */ retval = krb5_write_message(context, (krb5_pointer) &s, &princ_data); - if (retval) - { + if (retval) { com_err("uu-client", retval, "sending principal name to server"); return 8; - } + } + free(princ); + retval = krb5_write_message(context, (krb5_pointer) &s, &new_creds->ticket); - if (retval) - { + if (retval) { com_err("uu-client", retval, "sending ticket to server"); return 8; - } + } retval = krb5_read_message(context, (krb5_pointer) &s, &reply); - if (retval) - { - com_err("uu-client", retval, "reading reply from server"); + if (retval) { + com_err("uu-client", retval, "reading reply from server"); return 9; - } - - if (retval = krb5_auth_con_init(context, &auth_context)) { - com_err("uu-client", retval, "initializing the auth_context"); - return 9; - } + } - if (retval = krb5_auth_con_genaddrs(context, auth_context, s, - KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR | - KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR)) { - com_err("uu-client", retval, "generating addrs for auth_context"); + retval = krb5_auth_con_init(context, &auth_context); + if (retval) { + com_err("uu-client", retval, "initializing the auth_context"); + return 9; + } + + retval = + krb5_auth_con_genaddrs(context, auth_context, s, + KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR | + KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR); + if (retval) { + com_err("uu-client", retval, "generating addrs for auth_context"); return 9; } - if (retval = krb5_auth_con_setflags(context, auth_context, - KRB5_AUTH_CONTEXT_DO_SEQUENCE)) { - com_err("uu-client", retval, "initializing the auth_context flags"); - return 9; - } - - if (retval = krb5_auth_con_setuseruserkey(context, auth_context, - &new_creds->keyblock)) { - com_err("uu-client", retval, "setting useruserkey for authcontext"); - return 9; - } - + retval = krb5_auth_con_setflags(context, auth_context, + KRB5_AUTH_CONTEXT_DO_SEQUENCE); + if (retval) { + com_err("uu-client", retval, "initializing the auth_context flags"); + return 9; + } + + retval = krb5_auth_con_setuseruserkey(context, auth_context, + &new_creds->keyblock); + if (retval) { + com_err("uu-client", retval, "setting useruserkey for authcontext"); + return 9; + } + #if 1 - /* read the ap_req to get the session key */ - retval = krb5_rd_req(context, &auth_context, &reply, - NULL, NULL, NULL, &ticket); - free(reply.data); + /* read the ap_req to get the session key */ + retval = krb5_rd_req(context, &auth_context, &reply, + NULL, NULL, NULL, &ticket); + free(reply.data); #else - retval = krb5_recvauth(context, &auth_context, (krb5_pointer)&s, "???", + retval = krb5_recvauth(context, &auth_context, (krb5_pointer)&s, "???", 0, /* server */, 0, NULL, &ticket); #endif - + if (retval) { com_err("uu-client", retval, "reading AP_REQ from server"); return 9; } - if (retval = krb5_unparse_name(context, ticket->enc_part2->client, &princ)) + + retval = krb5_unparse_name(context, ticket->enc_part2->client, &princ); + if (retval) com_err("uu-client", retval, "while unparsing client name"); else { printf("server is named \"%s\"\n", princ); free(princ); } + retval = krb5_read_message(context, (krb5_pointer) &s, &reply); - if (retval) - { + if (retval) { com_err("uu-client", retval, "reading reply from server"); return 9; - } + } + + retval = krb5_rd_safe(context, auth_context, &reply, &msg, NULL); + if (retval) { + com_err("uu-client", retval, "decoding reply from server"); + return 10; + } - if (retval = krb5_rd_safe(context, auth_context, &reply, &msg, NULL)) { - com_err("uu-client", retval, "decoding reply from server"); - return 10; - } - printf ("uu-client: server says \"%s\".\n", msg.data); - return 0; + printf ("uu-client: server says \"%s\".\n", msg.data); + return 0; } diff --git a/src/appl/user_user/server.c b/src/appl/user_user/server.c index d7cda69e8..1777046d3 100644 --- a/src/appl/user_user/server.c +++ b/src/appl/user_user/server.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include "krb5.h" @@ -65,82 +66,87 @@ char *argv[]; } #ifdef DEBUG - { - int one = 1; - int acc; - struct servent *sp; - int namelen = sizeof(f_inaddr); - - if ((sock = socket(PF_INET, SOCK_STREAM, 0)) < 0) { - com_err("uu-server", errno, "creating socket"); - exit(3); - } - - l_inaddr.sin_family = AF_INET; - l_inaddr.sin_addr.s_addr = 0; - if (!(sp = getservbyname("uu-sample", "tcp"))) { - com_err("uu-server", 0, "can't find uu-sample/tcp service"); - exit(3); - } - (void) setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof (one)); - l_inaddr.sin_port = sp->s_port; - if (bind(sock, (struct sockaddr *)&l_inaddr, sizeof(l_inaddr))) { - com_err("uu-server", errno, "binding socket"); - exit(3); - } - if (listen(sock, 1) == -1) { - com_err("uu-server", errno, "listening"); - exit(3); - } - if ((acc = accept(sock, (struct sockaddr *)&f_inaddr, &namelen)) == -1) { - com_err("uu-server", errno, "accepting"); - exit(3); - } - dup2(acc, 0); - close(sock); - sock = 0; - } + { + int one = 1; + int acc; + struct servent *sp; + int namelen = sizeof(f_inaddr); + + if ((sock = socket(PF_INET, SOCK_STREAM, 0)) < 0) { + com_err("uu-server", errno, "creating socket"); + exit(3); + } + + l_inaddr.sin_family = AF_INET; + l_inaddr.sin_addr.s_addr = 0; + if (!(sp = getservbyname("uu-sample", "tcp"))) { + com_err("uu-server", 0, "can't find uu-sample/tcp service"); + exit(3); + } + (void) setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&one, sizeof (one)); + l_inaddr.sin_port = sp->s_port; + if (bind(sock, (struct sockaddr *)&l_inaddr, sizeof(l_inaddr))) { + com_err("uu-server", errno, "binding socket"); + exit(3); + } + if (listen(sock, 1) == -1) { + com_err("uu-server", errno, "listening"); + exit(3); + } + if ((acc = accept(sock, (struct sockaddr *)&f_inaddr, &namelen)) == -1) { + com_err("uu-server", errno, "accepting"); + exit(3); + } + dup2(acc, 0); + close(sock); + sock = 0; + } #endif - if (retval = krb5_read_message(context, (krb5_pointer) &sock, &pname_data)) { + + retval = krb5_read_message(context, (krb5_pointer) &sock, &pname_data); + if (retval) { com_err ("uu-server", retval, "reading pname"); return 2; } - if (retval = krb5_read_message(context, (krb5_pointer) &sock, &tkt_data)) { + + retval = krb5_read_message(context, (krb5_pointer) &sock, &tkt_data); + if (retval) { com_err ("uu-server", retval, "reading ticket data"); return 2; } - if (retval = krb5_cc_default(context, &cc)) - { + retval = krb5_cc_default(context, &cc); + if (retval) { com_err("uu-server", retval, "getting credentials cache"); return 4; - } + } memset ((char*)&creds, 0, sizeof(creds)); - if (retval = krb5_cc_get_principal(context, cc, &creds.client)) - { + retval = krb5_cc_get_principal(context, cc, &creds.client); + if (retval) { com_err("uu-client", retval, "getting principal name"); return 6; - } + } /* client sends it already null-terminated. */ printf ("uu-server: client principal is \"%s\".\n", pname_data.data); - if (retval = krb5_parse_name(context, pname_data.data, &creds.server)) - { + retval = krb5_parse_name(context, pname_data.data, &creds.server); + if (retval) { com_err("uu-server", retval, "parsing client name"); return 3; - } + } + creds.second_ticket = tkt_data; printf ("uu-server: client ticket is %d bytes.\n", creds.second_ticket.length); - if (retval = krb5_get_credentials(context, KRB5_GC_USER_USER, cc, - &creds, &new_creds)) - { + retval = krb5_get_credentials(context, KRB5_GC_USER_USER, cc, + &creds, &new_creds); + if (retval) { com_err("uu-server", retval, "getting user-user ticket"); return 5; - } + } #ifndef DEBUG l = sizeof(f_inaddr); @@ -160,58 +166,62 @@ char *argv[]; /* send a ticket/authenticator to the other side, so it can get the key we're using for the krb_safe below. */ - if (retval = krb5_auth_con_init(context, &auth_context)) { - com_err("uu-server", retval, "making auth_context"); - return 8; - } - - if (retval = krb5_auth_con_setflags(context, auth_context, - KRB5_AUTH_CONTEXT_DO_SEQUENCE)) { - com_err("uu-server", retval, "initializing the auth_context flags"); - return 8; - } - - if (retval = krb5_auth_con_genaddrs(context, auth_context, sock, - KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR | - KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR)) { - com_err("uu-server", retval, "generating addrs for auth_context"); - return 9; - } + retval = krb5_auth_con_init(context, &auth_context); + if (retval) { + com_err("uu-server", retval, "making auth_context"); + return 8; + } + retval = krb5_auth_con_setflags(context, auth_context, + KRB5_AUTH_CONTEXT_DO_SEQUENCE); + if (retval) { + com_err("uu-server", retval, "initializing the auth_context flags"); + return 8; + } + + retval = + krb5_auth_con_genaddrs(context, auth_context, sock, + KRB5_AUTH_CONTEXT_GENERATE_LOCAL_FULL_ADDR | + KRB5_AUTH_CONTEXT_GENERATE_REMOTE_FULL_ADDR); + if (retval) { + com_err("uu-server", retval, "generating addrs for auth_context"); + return 9; + } + #if 1 - if (retval = krb5_mk_req_extended(context, &auth_context, - AP_OPTS_USE_SESSION_KEY, - NULL, new_creds, &msg)) { - com_err("uu-server", retval, "making AP_REQ"); - return 8; - } - retval = krb5_write_message(context, (krb5_pointer) &sock, &msg); + retval = krb5_mk_req_extended(context, &auth_context, + AP_OPTS_USE_SESSION_KEY, + NULL, new_creds, &msg); + if (retval) { + com_err("uu-server", retval, "making AP_REQ"); + return 8; + } + retval = krb5_write_message(context, (krb5_pointer) &sock, &msg); #else - retval = krb5_sendauth(context, &auth_context, (krb5_pointer)&sock,"???", 0, - 0, AP_OPTS_MUTUAL_REQUIRED | AP_OPTS_USE_SESSION_KEY, - NULL, &creds, cc, NULL, NULL, NULL); + retval = krb5_sendauth(context, &auth_context, (krb5_pointer)&sock,"???", 0, + 0, AP_OPTS_MUTUAL_REQUIRED | AP_OPTS_USE_SESSION_KEY, + NULL, &creds, cc, NULL, NULL, NULL); #endif if (retval) goto cl_short_wrt; - + free(msg.data); - + msgtext.length = 32; msgtext.data = "Hello, other end of connection."; - - if (retval = krb5_mk_safe(context, auth_context, &msgtext, &msg, NULL)) - { + + retval = krb5_mk_safe(context, auth_context, &msgtext, &msg, NULL); + if (retval) { com_err("uu-server", retval, "encoding message to client"); return 6; - } + } retval = krb5_write_message(context, (krb5_pointer) &sock, &msg); - if (retval) - { - cl_short_wrt: - com_err("uu-server", retval, "writing message to client"); + if (retval) { + cl_short_wrt: + com_err("uu-server", retval, "writing message to client"); return 7; - } + } return 0; } -- 2.26.2