Holger Hans Peter Freyther
91b9a45be4
nat: Inform the USSD Provider about lost connections
2011-04-18 17:32:40 +02:00
Holger Hans Peter Freyther
e5d324981d
nat: Remove magic numbers, use enum values for conn classification
...
Remove the usage of 0, 1, 2 and start using enum values. We can
still assume con_local is a number.
2011-04-18 17:32:38 +02:00
Holger Hans Peter Freyther
a64037cd4a
nat: Clarify the documentation of the allow/deny regexp
2011-04-18 17:31:40 +02:00
Holger Hans Peter Freyther
80352e03ca
ho: Initialize nmp_worst as it was not initialized
...
The compiler can't know that on the first iteration we will
assign nmp_worst as we have used a high average value.
2011-04-18 17:31:40 +02:00
Holger Hans Peter Freyther
d447e99587
bsc: Move transaction.c from the libbsc to the libmsc
...
The BSC code does not use transactions, move it to the libmsc.
2011-04-18 17:31:40 +02:00
Holger Hans Peter Freyther
0e7d071e47
misc: Fix possible crash with setting an extension
2011-04-18 17:31:40 +02:00
Holger Hans Peter Freyther
a8a09df6a6
misc: Remove sys/types.h includes from the files
...
These are not needed any more. We used them for u_int
types but we now use uint which comes from stdint.h
2011-04-18 17:31:39 +02:00
Holger Hans Peter Freyther
c42ad8b686
misc: Move from u_int to uint types of stdint.h
...
This was done with sed on the files.
2011-04-18 17:31:39 +02:00
Holger Hans Peter Freyther
5cde92cb0e
nat: And out the skip_indicator/transaction id from the gsm48 header
...
We need to and out the protocol discriminator as call control
might have use transactions. This has only failed for the USSD
filter so far as this must deal with transactions.
2011-04-13 18:56:13 +02:00
Holger Hans Peter Freyther
06009c8d5a
bsc: Remove the handling of the RTP option from the switch/case stmt
...
The 'P' code was not present in the getopt call anyway.
2011-04-13 09:18:49 +02:00
Holger Hans Peter Freyther
fede54c821
bsc: Use the new name in the usage statement
2011-04-13 09:18:09 +02:00
Pablo Neira Ayuso
7e737007d9
ipaccess-proxy: get rid of make_gprs_sock()
...
It is similar to make_sock() available in openbsc/libcommon.
2011-04-12 21:50:47 +02:00
Pablo Neira Ayuso
4c80a516f8
ipaccess-proxy: remove leftover option `--udp'
...
It seems it remains unimplemented, remove it.
2011-04-12 21:50:47 +02:00
Pablo Neira Ayuso
25ffe54118
ipaccess-proxy: more robust option parsing and checking
...
With this patch, ipaccess-proxy makes more robust option checking:
$ ./ipaccess-proxy -l 1.1.1.1 -b 2.2.2.2 -e
ERROR: missing mandatory argument for `-e' option
And we return to shell to enforce the user to try again with the
appropriate invocation.
Before this patch, the default getopt_long() error handling was
enabled which displayed this message:
./ipaccess-proxy: option requires an argument -- 'e'
and ipaccess-proxy continued working.
This is generic enough to cover other option that require mandatory
arguments like `--bsc' and `--listen'.
2011-04-12 21:50:47 +02:00
Pablo Neira Ayuso
23b1b808f1
ipaccess-find: get rid of ipac_idtag_name()
...
Use generic ipaccess_idtag_name() available in libabis instead.
2011-04-12 21:50:47 +02:00
Pablo Neira Ayuso
91afbbc56a
libabis: ipaccess: use log instead of debug under errors in ipaccess_send()
...
This patch was suggested by Zecke.
2011-04-12 21:50:46 +02:00
Pablo Neira Ayuso
ca05d432d7
src: more robust ipaccess_idtag_parse()
...
Now ipaccess_idtag_parse() returns -EINVAL instead of -1. We also
check for the return value of this function in every invocation to
skip further processing in case of messages with malformed TLVs.
This idea was suggested by Zecke.
2011-04-12 21:50:46 +02:00
Pablo Neira Ayuso
0d20b63574
libabis: ipaccess: more robust ipaccess_idtag_name()
...
ipaccess_idtag_name() now takes a uint8_t as parameter which is the
length of the type tag.
This patch was suggested by Zecke.
2011-04-12 21:50:46 +02:00
Holger Hans Peter Freyther
81863cde82
db: The forward declaration of the enum does not work with C++
...
We need to include this directly to help LCR in building.
2011-04-12 21:33:35 +02:00
Holger Hans Peter Freyther
090493863b
mncc: Do not permanently disable the listening socket in case of error
...
When we have no other MNCC connection but the registeration of the
new fd is failing we should not disable reading from the listen_fd
for ever as the situation might not be permanent.
2011-04-12 20:14:51 +02:00
Holger Hans Peter Freyther
18fe88933c
nitb: Listen for incoming MNCC connections only once
...
There is no point in creating the MNCC socket twice. Only
create it if the user requested this when starting the nitb.
2011-04-12 19:16:48 +02:00
Holger Hans Peter Freyther
0e8facca42
ipaccess-config: Allow to invoke tests by names.
...
Allow to invoke tests by name.
2011-04-11 20:39:16 +02:00
Holger Hans Peter Freyther
390ba3faa0
ipaccess-config: Add option to list possible NVRAM settings
...
We can handle NVRAM settings via names but there is no way
to discover these names. This commits adds the unusual -H
option to show these values.
2011-04-11 20:39:16 +02:00
Holger Hans Peter Freyther
cfccedd74a
ipaccess-config: Allow to automatically loop a test
...
This makes the commented out code an option that might
or might not work reliable.
2011-04-11 20:39:12 +02:00
Holger Hans Peter Freyther
0d93fb4127
nat: Fix a crash due the refactoring and pass the nat again.
2011-04-11 20:30:56 +02:00
Holger Hans Peter Freyther
b326100b12
misc: Fix compiler warnings in the code
2011-04-07 23:34:54 +02:00
Holger Hans Peter Freyther
5d7b65b407
ipaccess: Add a function to prepend the osmocom ext header
...
* include/openbsc/ipaccess.h: Reserve a protocol number for control
commands
* input/ipaccess.c: New function ipaccess_prepend_header_ext prepends
the extension header
2011-04-07 23:31:58 +02:00
Pablo Neira Ayuso
9f1294d623
ipaccess-proxy: remove hardcoded IP for options `-l' and `-b'
...
This patch removes the hardcoded IP addresses for options `-l'
and `-b'.
2011-04-07 23:28:00 +02:00
Pablo Neira Ayuso
c281b4e85a
libabis: ipaccess: export ipaccess_parse_unitid
...
Now this is used by ipaccess-proxy, remove redundant implementation in it.
2011-04-07 23:28:00 +02:00
Pablo Neira Ayuso
625295b14f
ipaccess-proxy: get rid of ipac_idtag_parse()
...
Use ipaccess_idtag_parse() available in libabis instead.
2011-04-07 23:28:00 +02:00
Pablo Neira Ayuso
66add64b71
libabis: ipaccess: export ipaccess_idtag_name()
...
Now this is used by ipaccess-proxy, remove redundant implemention in it.
2011-04-07 23:28:00 +02:00
Pablo Neira Ayuso
22f58a9a58
libabis: ipaccess: conclude new ipaccess_send_*() functions and use them
...
This patch finishes the new ipaccess_send_*() functions and use them
in the ipaccess-proxy code.
I have also cleanup the definition of the PONG, ID_ACK and ID_REQ
messages (including some minor documentation about them).
I had to rename ipaccess_recvmsg() in ipaccess-proxy to avoid clashing
with the one defined in libabis.
2011-04-07 23:28:00 +02:00
Pablo Neira Ayuso
3ab864a860
ipaccess-proxy: get rid of make_listen_sock() and use make_sock() instead
...
This patch replaces make_listen_sock() by the generic make_sock()
available in libcommon/socket.
2011-04-07 23:28:00 +02:00
Holger Hans Peter Freyther
55ef5fb7ef
bsc: Add the bsc-rf-socket command to master as well
...
Make it possible to specify the rf-socket path via the
vty configuration as well. The command line setting will
override it though.
2011-04-07 23:26:13 +02:00
Holger Hans Peter Freyther
4b41746ce3
bsc: Include openbsc/ipaccess.h for the drop_oml command
...
Fix a compiler warning about the drop_oml command.
2011-04-07 23:10:10 +02:00
Holger Hans Peter Freyther
7d73642d0e
nat: Fix the call to make_sock and pass a 0 priv_nr and the nat as data
2011-04-07 22:14:58 +02:00
Holger Hans Peter Freyther
ef38e85542
nat: Remember if the MSC accepted the connection on principle
...
For the USSD module we only want to handle requests that are
legitimate. This is achieved by looking for the CM Service Accept
or the BSSAP CIPHER MODE COMMAND.
2011-04-06 11:29:46 +02:00
Pablo Neira Ayuso
da2f769681
ipaccess: proxy: get rid of internal make_sock() implementation
...
With this patch, we use the implementation available in libcommon.
2011-04-05 18:33:28 +02:00
Pablo Neira Ayuso
165fe56260
libcommon: socket: extend make_sock() prototype
...
This patch extends the make_sock() prototype so you can fully set
the fields priv_nr and data of the bsc_fd structure.
This is the first step to get rid of the internal make_sock()
implementation that ipaccess-proxy uses.
This patch includes a minor cleanup to pass INADDR_ANY instead
of zero, if you do not want to bind the socket to one specific
address.
2011-04-05 18:33:24 +02:00
Pablo Neira Ayuso
f22e348287
ipaccess-config: exit if no network interface is specified
...
ipaccess-config has to exit if no network interface is specified,
otherwise it uses argv[1] which has a uninitialized value.
2011-04-05 18:33:17 +02:00
Holger Hans Peter Freyther
4c9557ef24
nat: Bail out if the regexp fails to compile and avoid a crash
...
If the regexp fails to compile the internal dfa is NULL and a
regexec will crash nicely. Fail and free the string if the regexp
fails to compile.
2011-04-04 19:19:26 +02:00
Holger Hans Peter Freyther
13673749ff
lapd: NULL pointer derefence possible here
...
The idiom seems to be to allocate the lapd_tei if it does not
exist and use it then. This was found by clang --analyze.
2011-04-04 19:17:58 +02:00
Holger Hans Peter Freyther
a18b11602c
nat: Make the USSD number matching a regexp
...
This allows to match multiple numbers and multiple patterns
2011-04-01 17:32:21 +02:00
Holger Hans Peter Freyther
9e7e55f164
nat: Fix the return to return CMD_SUCCESS;
2011-04-01 16:23:17 +02:00
Holger Hans Peter Freyther
6a7babd658
nat: Add commands to remove access-list from NAT and BSC config
2011-03-29 17:50:49 +02:00
Holger Hans Peter Freyther
d000c27d3b
nat: Improve the error message for the failing bind call
...
Print the IP and port that was used for the address to bind to.
2011-03-29 17:50:49 +02:00
Holger Hans Peter Freyther
06f4fc79a2
bsc: Make the MSC node a child of CONFIG_NODE
...
The VTY code calls the write function for nodes in the order of
registration of the node and not in terms of hierachy of nodes. This
means that the e1_input code is written before the MSC node that
was the child of the network. Make the MSC_NODE a direct descendant
of the CONFIG_NODE and avoid this issue.
2011-03-29 17:50:49 +02:00
Holger Hans Peter Freyther
fcac2911cf
bsc: Fix the generation of the config file, fix indention
...
Fix the indention of codec-list, bsc-welcome-text, mid-call-text
and the mid-call-timeout. Fix the name of the codec-list in the
write method.
2011-03-29 17:08:27 +02:00
Pablo Neira Ayuso
6110a3f3fa
src: include new file osmocom/vty/misc.h for vty_out_rate_ctr_group()
...
This uses the new include file for vty_out_rate_ctr_group() which
available in libosmocore.
2011-03-28 20:01:03 +02:00
Pablo Neira Ayuso
3c409c249d
ipaccess-proxy: fix segfault in handle_dead_socket
...
This patch fixes a segfault if we or one BTS start a TCP connection
and close it before any IPAC_MSGT_ID_RESP message is sent.
2011-03-27 22:21:08 +02:00