diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-09 17:38:59 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-06-09 21:40:45 +0800 |
commit | 0897dad30025eb2f840ffbbfd307843fdba47e5f (patch) | |
tree | 581723de6833a9be0101697027d1b0ae68ebf4db /openbsc/src/ipaccess | |
parent | 952aba740619512f8346f85ad48b096898451e2e (diff) |
ipa-proxy: Only handle some stuff of the CCM locally...
This is a good interim solution for messages not handled by us,
right now this would include the NVRAM attributes that I do not
feel like caching right now.
Diffstat (limited to 'openbsc/src/ipaccess')
-rw-r--r-- | openbsc/src/ipaccess/ipaccess-proxy.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/openbsc/src/ipaccess/ipaccess-proxy.c b/openbsc/src/ipaccess/ipaccess-proxy.c index 56e910111..59895c47c 100644 --- a/openbsc/src/ipaccess/ipaccess-proxy.c +++ b/openbsc/src/ipaccess/ipaccess-proxy.c @@ -654,6 +654,10 @@ static int ipaccess_rcvmsg(struct ipa_proxy_conn *ipc, struct msgb *msg, DEBUGP(DMI, "ID_ACK? -> ACK!\n"); ret = write(bfd->fd, id_ack, sizeof(id_ack)); break; + default: + LOGP(DMI, LOGL_ERROR, "Unhandled IPA type; %d\n", msg_type); + return 1; + break; } return 0; } @@ -880,11 +884,14 @@ static int handle_tcp_read(struct bsc_fd *bfd) close(bfd->fd); bfd->fd = -1; talloc_free(bfd); + msgb_free(msg); + return ret; + } else if (ret == 0) { + /* we do not forward parts of the CCM protocol + * through the proxy but rather terminate it ourselves. */ + msgb_free(msg); + return ret; } - /* we do not forward the CCM protocol through the - * proxy but rather terminate it ourselves */ - msgb_free(msg); - return ret; } if (!ipbc) { |