These are improvements for the autoconf input of openbsc, an update to .gitignore, and a fix for a segfault. Please integrate them, if they seem useful.
Alexander Huemer (4): openbsc: add missing AC_LANG_SOURCE for current autoconf openbsc: rename configure.in -> configure.ac openbsc: update .gitignore libabis: fix segfault on malformed ipaccess RSL link
openbsc/.gitignore | 3 +++ openbsc/{configure.in => configure.ac} | 2 +- openbsc/src/libabis/input/ipaccess.c | 5 ++++- 3 files changed, 8 insertions(+), 2 deletions(-)
autoconf >=2.68 demands the body of an AC_COMPILE_IFELSE to be wrapped in an AC_LANG_SOURCE macro, otherwise outputs annoying warnings on the invocation of `autoreconf -i`. this patch follows that demand. --- openbsc/configure.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/openbsc/configure.in b/openbsc/configure.in index e9bc079..74b3044 100644 --- a/openbsc/configure.in +++ b/openbsc/configure.in @@ -59,7 +59,7 @@ dnl Checks for typedefs, structures and compiler characteristics saved_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fvisibility=hidden " AC_MSG_CHECKING([if ${CC} supports -fvisibility=hidden]) -AC_COMPILE_IFELSE([char foo;], +AC_COMPILE_IFELSE([AC_LANG_SOURCE([char foo;])], [ AC_MSG_RESULT([yes]) SYMBOL_VISIBILITY="-fvisibility=hidden"], AC_MSG_RESULT([no]))
rename autoconf input file to align with osmocom-bb host applications, and because that suffix is preferred nowadays. --- openbsc/{configure.in => configure.ac} | 0 1 files changed, 0 insertions(+), 0 deletions(-) rename openbsc/{configure.in => configure.ac} (100%)
diff --git a/openbsc/configure.in b/openbsc/configure.ac similarity index 100% rename from openbsc/configure.in rename to openbsc/configure.ac
--- openbsc/.gitignore | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/openbsc/.gitignore b/openbsc/.gitignore index bd35256..c19c16a 100644 --- a/openbsc/.gitignore +++ b/openbsc/.gitignore @@ -39,12 +39,15 @@ src/utils/isdnsync src/nat/bsc_nat src/gprs/osmo-sgsn src/gprs/osmo-gbproxy +src/osmo-bsc_nat/osmo-bsc_nat
#tests +tests/bsc-nat/bsc_nat_test tests/channel/channel_test tests/db/db_test tests/debug/debug_test tests/gsm0408/gsm0408_test +tests/mgcp/mgcp_test tests/sccp/sccp_test tests/sms/sms_test tests/timer/timer_test
This patch fixes a segfault that occured when a ipaccess RSL link gets closed unexpectedly. The segfault can be provoked by connecting to the RSL port with ncat and hitting ^C. --- openbsc/src/libabis/input/ipaccess.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/openbsc/src/libabis/input/ipaccess.c b/openbsc/src/libabis/input/ipaccess.c index 1427118..cc2a7a0 100644 --- a/openbsc/src/libabis/input/ipaccess.c +++ b/openbsc/src/libabis/input/ipaccess.c @@ -429,12 +429,15 @@ static int ipaccess_drop(struct e1inp_ts *ts, struct osmo_fd *bfd) struct e1inp_sign_link *link; int bts_nr;
- if (!ts) { + if (!ts || !bfd->data) { /* * If we don't have a TS this means that this is a RSL * connection but we are not past the authentication * handling yet. So we can safely delete this bfd and * wait for a reconnect. + * If we don't have bfd->data this means that a RSL + * connection was accept()ed, but nothing was recv()ed + * and the connection gets close()ed. */ osmo_fd_unregister(bfd); close(bfd->fd);