From: Johannes Maximilian Kuehn Date: Wed, 10 Sep 2008 23:37:56 +0000 (+0000) Subject: main.c: X-Git-Tag: NTP_4_2_5P142~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c8043ee40a8defb161061c8bf2c060f26fe74be;p=thirdparty%2Fntp.git main.c: fixed includes crypto.c, networking.c: Fixed compile errors bk: 48c85a54KesCa_uVQgb4q_Mmqhtnxw --- diff --git a/gsoc_sntp/crypto.c b/gsoc_sntp/crypto.c index f3aea7fe9..f1d258439 100644 --- a/gsoc_sntp/crypto.c +++ b/gsoc_sntp/crypto.c @@ -41,7 +41,7 @@ auth_md5 ( MD5Init(&ctx); - char *digest_data = (char *) malloc(sizeof(char) * (LEN_PKT_NOMAC + cmp_size)); + char *digest_data = (char *) malloc(sizeof(char) * (LEN_PKT_NOMAC + cmp_key->key_len)); for(a=0; akey_id, &act->type, act->key_seq); - act->key_len = strlen(key_seq); + act->key_len = strlen(act->key_seq); #ifdef DEBUG printf("sntp auth_init: key_id %i type %c with key %s\n", act->key_id, act->type, act->key_seq); diff --git a/gsoc_sntp/crypto.h b/gsoc_sntp/crypto.h index ff223c9b4..b89d20641 100644 --- a/gsoc_sntp/crypto.h +++ b/gsoc_sntp/crypto.h @@ -41,7 +41,7 @@ struct key { struct key *next; }; -int auth_md5(char *pkt_data, int mac_size, char *cmp_key, int cmp_size); +int auth_md5(char *pkt_data, int mac_size, struct key *cmp_key); int auth_init(char *keyfile, struct key **keys); void get_key(int key_id, struct key **d_key); diff --git a/gsoc_sntp/main.c b/gsoc_sntp/main.c index 6c18d5fa6..d35d8c487 100644 --- a/gsoc_sntp/main.c +++ b/gsoc_sntp/main.c @@ -1,7 +1,7 @@ #include #include -#include #include +#include #include #include #include @@ -86,7 +86,7 @@ sntp_main ( } if(HAVE_OPT(KEYFILE)) { - auth_init((char *)OPT_ARG(KEYFILE), keys); + auth_init((char *)OPT_ARG(KEYFILE), &keys); } diff --git a/gsoc_sntp/networking.c b/gsoc_sntp/networking.c index c76d37bbb..79ff4246f 100644 --- a/gsoc_sntp/networking.c +++ b/gsoc_sntp/networking.c @@ -366,8 +366,9 @@ recv_bcst_data ( return BROADCAST_FAILED; break; - default: +/* default: */ socklen_t ss_len = SOCKLEN(ras); + recv_bytes = recvfrom(rsock, rdata, rdata_len, 0, (struct sockaddr *) ras, (socklen_t *) &ss_len); } @@ -395,7 +396,7 @@ recv_bcst_pkt ( { struct sockaddr_storage sender; register int a; - int is_authentic, has_mac, orig_pkt_len; + int is_authentic, has_mac = 0, orig_pkt_len; char *rdata = (char *) malloc(sizeof(char) * 256); @@ -570,13 +571,11 @@ recvpkt ( register int a; int has_mac, is_authentic, orig_pkt_len; - l_fp org; - /* Much space, just to be sure */ - rdata = (char *) malloc(sizeof(char) * 512); + rdata = (char *) malloc(sizeof(char) * 256); - int pkt_len = recvdata(rsock, &sender, rdata, 512); + int pkt_len = recvdata(rsock, &sender, rdata, 256); if(!done) { /* Do something about it, first check for a maximum length of ntp packets, @@ -646,7 +645,7 @@ recvpkt ( if(ENABLED_OPT(AUTHENTICATION)) { /* We want a authenticated packet */ if(ENABLED_OPT(NORMALVERBOSE)) { - char *hostname = ss_to_str(sas); + char *hostname = ss_to_str(&sender); printf("sntp recvpkt: Broadcast packet received from %s is not authentic. Will discard this packet.\n", hostname); @@ -660,7 +659,7 @@ recvpkt ( * use it anyways */ if(ENABLED_OPT(NORMALVERBOSE)) { - char *hostname = ss_to_str(sas); + char *hostname = ss_to_str(&sender); printf("sntp recvpkt: Broadcast packet received from %s is not authentic. Authentication not enforced.\n", hostname); @@ -673,7 +672,7 @@ recvpkt ( else { /* Yay! Things worked out! */ if(ENABLED_OPT(NORMALVERBOSE)) { - char *hostname = ss_to_str(sas); + char *hostname = ss_to_str(&sender); printf("sntp recvpkt: Broadcast packet received from %s successfully authenticated using key id %i.\n", hostname, rpkt->mac[0]); diff --git a/gsoc_sntp/networking.h b/gsoc_sntp/networking.h index 2e3d1ae8a..8605ab204 100644 --- a/gsoc_sntp/networking.h +++ b/gsoc_sntp/networking.h @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,7 @@ #include #include +#include "crypto.h" #include "log.h" #include "sntp-opts.h" #include "utilities.h"