From owner-svn-src-projects@FreeBSD.ORG Wed Jan 16 04:45:46 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 43721D13; Wed, 16 Jan 2013 04:45:46 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 13A6E781; Wed, 16 Jan 2013 04:45:46 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0G4jjRk081227; Wed, 16 Jan 2013 04:45:45 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0G4jjfG081226; Wed, 16 Jan 2013 04:45:45 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <201301160445.r0G4jjfG081226@svn.freebsd.org> From: Lawrence Stewart Date: Wed, 16 Jan 2013 04:45:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r245490 - projects/diffused_head/sbin/ipfw/diffuse_collector X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Jan 2013 04:45:46 -0000 Author: lstewart Date: Wed Jan 16 04:45:45 2013 New Revision: 245490 URL: http://svnweb.freebsd.org/changeset/base/245490 Log: Switch to storing classifier node network address information in sockaddr_storage structs to appease strict alignment architectures. Reported by: clang Modified: projects/diffused_head/sbin/ipfw/diffuse_collector/diffuse_collector.c Modified: projects/diffused_head/sbin/ipfw/diffuse_collector/diffuse_collector.c ============================================================================== --- projects/diffused_head/sbin/ipfw/diffuse_collector/diffuse_collector.c Wed Jan 16 04:35:35 2013 (r245489) +++ projects/diffused_head/sbin/ipfw/diffuse_collector/diffuse_collector.c Wed Jan 16 04:45:45 2013 (r245490) @@ -286,7 +286,7 @@ struct di_collector_config { char cli_get_rule_counters[1024]; /* Shell command to execute * to get the required rule * counters. */ - struct sockaddr *classifiers; /* Details for classifiers. */ + struct sockaddr_storage *classifiers; /* Details for classifiers. */ int num_classifiers; /* Size of classifiers array. */ int min_rule_no; /* Minimum rule number available * for use by colelctor. */ @@ -311,7 +311,7 @@ static int stop; static void print_collector_config(struct di_collector_config *conf) { - struct sockaddr *cdetails; + struct sockaddr_storage *cdetails; int i; printf("%-25s %s\n", "Config file path", conf->cfpath); @@ -1421,7 +1421,7 @@ parse_classaction_config(int line_no, ch static void parse_general_config(int line_no, char *key, char *value) { - struct sockaddr *cdetails; + struct sockaddr_storage *cdetails; char *errstr, *ip, *port; int nclassifiers; @@ -1446,7 +1446,7 @@ parse_general_config(int line_no, char * errx(EX_CONFIG, "can't parse IP address: %s", ip); } - cdetails->sa_family = AF_INET; + cdetails->ss_family = AF_INET; if (port != NULL) { ((struct sockaddr_in *)cdetails)->sin_port = @@ -1874,7 +1874,7 @@ request_classifier_state() struct dip_header *hdr; struct dip_set_header *shdr; struct dip_templ_header *thdr; - struct sockaddr *cdetails; + struct sockaddr_storage *cdetails; char reqstatepkt[64]; int i, offs, ret, tmpsock; @@ -1928,7 +1928,8 @@ request_classifier_state() continue; } - ret = connect(tmpsock, cdetails, cdetails->sa_family == AF_INET ? + ret = connect(tmpsock, (struct sockaddr *)cdetails, + cdetails->ss_family == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6)); if (ret != 0) { printf("WARNING: Unable to connect to classifier "