Version: 1
-Previous: cc19852540264160eb150ac348da6f582a077806
-Head: 03b0fee11d5e74ed62e30aae5e6b05e3b4d215f0
+Previous: 23bba74b9468644a830a37ead0f8bb6f77aeda21
+Head: af619b5e543b7539f3f8b4a0dd03352777dc9334
Applied:
locking: 49fcc60d268ba85ee40dc4a4e7d3a4faac3abe9b
verbose: ab647a30aa155e72a51f9e7e228d558b8db6ec2a
def_log: f43faea8e7780d67919ebc6c1a435bcf3903e947
rm_acm_msg: 5aaf38cf02875897413ce853df5d01592aa10a17
select_src: 03b0fee11d5e74ed62e30aae5e6b05e3b4d215f0
+ refresh-temp: af619b5e543b7539f3f8b4a0dd03352777dc9334
Unapplied:
1.0.4: f8c16b55b0f82a6eb667a3ef82aca8cb4f8fd714
Hidden:
--- /dev/null
+Bottom: 5367b34c78eebaff36d0f9720dcc10bd2f69ff4f
+Top: df0fbab51106faef153cc1e0ade6cf8308bdfc55
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2010-12-09 09:14:44 -0800
+
+Refresh of select_src
+
+---
+
+diff --git a/src/acm.c b/src/acm.c
+index 67c4925..4ec01e8 100644
+--- a/src/acm.c
++++ b/src/acm.c
+@@ -1851,14 +1851,20 @@ static int acm_svr_select_src(struct acm_ep_addr_data *src, struct acm_ep_addr_d
+
+ acm_log(2, "selecting source address\n");
+ memset(&addr, 0, sizeof addr);
+- if (dst->type == ACM_EP_INFO_ADDRESS_IP) {
++ switch (dst->type) {
++ case ACM_EP_INFO_ADDRESS_IP:
+ ((struct sockaddr_in *) &addr)->sin_family = AF_INET;
+ memcpy(&((struct sockaddr_in *) &addr)->sin_addr, dst->info.addr, 4);
+ len = sizeof(struct sockaddr_in);
+- } else {
++ break;
++ case ACM_EP_INFO_ADDRESS_IP6:
+ addr.sin6_family = AF_INET6;
+ memcpy(&addr.sin6_addr, dst->info.addr, 16);
+ len = sizeof(struct sockaddr_in6);
++ break;
++ default:
++ acm_log(1, "notice - bad destination type, cannot lookup source\n");
++ return ACM_STATUS_EDESTTYPE;
+ }
+
+ s = socket(addr.sin6_family, SOCK_DGRAM, IPPROTO_UDP);