aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-08-21Makefile.am: Use AM_CPPFLAGSAlexander Huemer1-1/+1
Since automake 1.13 INCLUDES is depricates and causes a warning
2014-08-21ctrl: Provide a reply in case the range check failedHolger Hans Peter Freyther1-0/+1
2014-08-21ctrl: Make the commands static to not pollute the namespaceHolger Hans Peter Freyther1-3/+3
We do not need to access these commands from another compilation unit and can just make it static.
2014-08-21ctrl: Work on the cmd->node instead of the data pointer passedHolger Hans Peter Freyther1-9/+9
Make the macros use the cmd->node instead of the data pointer. The naming of the variable inside the macro already indicates that it should use the nodes data structure.
2014-08-21ctrl: Fix the signature of the string control commandsHolger Hans Peter Freyther1-2/+7
Like with all type unsafe callbacks we will need to cast from void to the dtype. This addresses some compiler warnings. Make it possible to only include the control_cmd.h to use the macros defined in this file.
2014-08-21libctrl, osmo-bsc: Get rid of net prefixDaniel Willmann2-11/+3
net is now implicit in the root node
2014-08-21ctrl: Use strtol instead of atoi to detect conversion errorsDaniel Willmann1-10/+27
2014-08-21ctrl: Improve error messages in ctrl_cmd_handleDaniel Willmann1-12/+28
2014-08-21ctrl: Change the paths to bts.%i. instead of bts%iDaniel Willmann1-6/+18
2014-08-21ctrl: Improve error handling if controlif setup failsDaniel Willmann1-12/+16
2014-08-21libctrl: Add function ctrl_cmd_send_to_allDaniel Willmann2-0/+18
Sends a command to all ctrl connections except the one it originated from.
2014-08-21libctrl: Add trap helper functionDaniel Willmann2-0/+14
2014-08-21libctrl: Change controlif_setup so it returns the ctrl handleDaniel Willmann3-16/+20
nat: Catch up with controlif_setup API change We now save a control handle reference in the nat osmo-bsc: Catch up with controlif_setup API change We now save a control handle reference in the gsm network
2014-08-21libctrl: Keep track of connections in struct ctrl_handleDaniel Willmann1-1/+11
2014-08-21misc: Use other size modifiers to fix compiler warningsHolger Hans Peter Freyther1-1/+1
control_if.c:521:2: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ [-Wformat] osmo_bsc_bssap.c:473:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘unsigned int’ [-Wformat] mgcp_main.c:162:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformatt]
2014-08-21libctrl: only free() msgb if it was alloc()edAlexander Huemer1-1/+1
Before this patch a SIGABRT was caused when doing e.g.: $ ncat 127.0.0.1 4249 ^C
2014-08-21fix some "implicit declaration" warnings in osmo-nitbAlexander Huemer1-0/+13
2014-08-21libctrl: Add a function to create the cmdHolger Hans Peter Freyther2-0/+13
2014-08-21libctrl: Don't overwrite error reply if the verify function sets oneDaniel Willmann1-1/+3
2014-08-21libctrl: Mark the cmd set/get/verify functions staticDaniel Willmann2-14/+14
2014-08-21libctrl: Bind control interface to localhostDaniel Willmann1-1/+1
2014-08-21libctrl: Use DCTRL as logging destination in libctrlHolger Hans Peter Freyther2-28/+28
2014-08-21src: port openBSC over libosmo-abisPablo Neira Ayuso3-37/+38
This is a big patch that ports openBSC over libosmo-abis. Sorry, the changes that are included here are all dependent of libosmo-abis, splitting them into smaller pieces would leave the repository in some intermediate state, which is not desired. The main changes are: - The directory libabis/ has been removed as it now lives in libosmo-abis. - new configuration file format for nanoBTS and HSL femto, we need to define the virtual e1_line and attach it to the OML link. - all the existing BTS drivers (nanoBTS, hsl femto, Nokia site, BS11 and rbs2000) now use the new libosmo-abis framework. - use r232 input driver available in libosmo-abis for bs11_config. - use ipa_msg_recv instead of old ipaccess_read_msg function. - delete definition of gsm_e1_subslot and input_signal_data. These structures now lives in libosmo-abis. Most of this patch are deletions of libabis/ which has been moved to libosmo-abis. This patch also modifies openBSC to use all the new definitions available in libosmocore and libosmo-abis. In order to do that, we have replaced the following: - DINP, DMI, DMIB and DMUX by their respective DL* correspondences. - SS_GLOBAL by SS_L_GLOBAL - SS_INPUT by SS_L_INPUT - S_GLOBAL_SHUTDOWN by S_L_GLOBAL_SHUTDOWN - SS_INPUT by SS_L_INPUT - S_INP_* by S_L_INP_* sub-signals - E1INP_NODE by L_E1INP_NODE vty node This patch has been tested with: - one nanoBTS - the HSL femto with the examples available under libosmo-abis - BS11 with both dahdi and misdn drivers.
2014-08-21libctrl: Use inttypes.h macros to make uint64_t printfs portable.Daniel Willmann1-1/+2
2014-08-21controlif: declare controlif_setup() in control_cmd.hHarald Welte1-0/+3
this avoids us to copy+paste external declarations over all 'main' files.
2014-08-21libctrl: Add ctrl_cmd_cpy() to copy a commandDaniel Willmann2-0/+37
2014-08-21libctrl: Add commands to query counters and rate_cntrDaniel Willmann1-0/+258
These commands are installed in controlif_setup. Query them like this: "rate_ctr.<interval>.<counter group>.<index>.<counter name>" for rate counters and "counter.<counter name>" for regular counters. <interval> may be either "abs" for absolute values or one or "per_{sec,min,hour,day}". It is possible to query all rate counters in a group (regardless of index) or all counters in a group and with a certain index if you omit <counter name> and <index> or just <counter name>.
2014-08-21libctrl: Add macros to help define commandsDaniel Willmann1-0/+69
2014-08-21Add libctrl, an SNMP-like control interfaceDaniel Willmann4-0/+900
In contrast to the VTY interface the control interface is meant to be used by programs. This patch adds basic support, no commands are defined.
2014-08-21new <osmocom/vty/ports.h> file listing VTY tcp portsHarald Welte2-1/+16
imported from http://openbsc.osmocom.org/trac/wiki/PortNumbers
2014-08-21gsm0808: Fix copy and paste pointed out by clangHolger Hans Peter Freyther1-1/+1
The element following the identifier list was the GSM0808_IE_LSA_INFORMATION. It is a TLV type as well and the issue got introduced in 92107dfd3b99ab0dbb0f4770286454ad94a36de2. Fixes: gsm0808.c:316:40: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] [GSM0808_IE_LSA_IDENTIFIER_LIST] = { TLV_TYPE_TLV }, ^~~~~~~~~~~~ gsm0808.c:315:40: note: previous initialization is here [GSM0808_IE_LSA_IDENTIFIER_LIST] = { TLV_TYPE_TLV },
2014-08-21macaddr: Add some code for FreeBSD (it should work on the others too)Holger Hans Peter Freyther1-0/+41
There doesn't seem to be a way to share this code with Linux as it doesn't have the sockaddr_dl concept inside the getifaddrs. I manually verified this on a FreeBSD10 box and hex decoding gave me the correct mac address and rc was 0.
2014-08-21ipa: use %z as format string whne printing sizeof() resultHarald Welte1-1/+1
thanks to Holger for reminding me
2014-08-21ipa: fix compiler warning regarding printf (%d -> %lu)Harald Welte1-1/+1
2014-08-21macaddr: add #include unistd.h for close() functionHarald Welte1-0/+1
this fixes a compile warning
2014-08-20ipa: rename functions for consistencyHarald Welte5-37/+52
As we are breaking builds by moving functions from libosmo-abis to libosmocore anyway, we might as well give functions more appropriate names. ipaccess is a company, while IPA is the multiplex protocol, and CCM is the protocol used for establishing identities on the IPA multiplex.
2014-08-20import various generic IPA related functions from libosmo-abisHarald Welte4-1/+511
libosmo-abis is about forming A-bis interfaces/lines by means of E1 or the IPA multiplex (or possibly other link layers). The IPA multiplex is used in other contexts, such as the Control interface, or the A interface. In that context, it makes sense to have generic IPA related functions in libosmocore.
2014-08-18Add osmo_get_macaddr() function to obtain etherent mac addressHarald Welte2-0/+27
This used to be private in osmo-bts/common/abis.c, where it really didn't belong.
2014-08-18osmocore: Add function osmo_macaddr_parse() to parse ETH MAC addressHarald Welte4-1/+34
2014-08-18TLV: add TLVP_PRES_LEN() definition to check for existance + minimum lengthHarald Welte1-0/+3
This is an import from osmo-bts where it was introduced in 6b561bb7ba5f10c5fd96542a7e42de2822352a67
2014-08-18ipaccess.h: Add IPAC_PROTO_EXT_ORC for OML Router ControlHarald Welte1-0/+1
2014-08-17abis_nm: add abis_nm_msg_disc_names[] value_stringHarald Welte3-0/+11
2014-08-17abis_nm: introduce abis_nm_{osmo,ipa}_magic[]Harald Welte3-0/+8
... used to be oml_{osmo,ipa}_magic in osmo-bts
2014-07-07gprs-ns: Re-initialize the list head and free the unknown_nsvcHolger Hans Peter Freyther1-0/+3
Fix re-initialize issue of the GPRS NS. This was found while working on the GB Proxy tests. ==27800== Invalid write of size 4 ==27800== at 0x403C263: rate_ctr_group_alloc (linuxlist.h:65) ==27800== by 0x4050974: gprs_nsvc_create (gprs_ns.c:209) ==27800== by 0x405320D: gprs_ns_instantiate (gprs_ns.c:1330) ==27800== by 0x804B212: main (gbproxy_test.c:797) ==27800== Address 0x434173c is 52 bytes inside a block of size 784 free'd ==27800== at 0x4029DA8: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so) ==27800== by 0x4041BBD: _talloc_free (talloc.c:609) ==27800== by 0x40432B2: talloc_free (talloc.c:578) ==27800== by 0x40532D3: gprs_ns_destroy (gprs_ns.c:1363) ==27800== by 0x804B1FE: main (gbproxy_test.c:791)
2014-07-01write_queue: Use EBADF instead of EBABDFD for portabilityHolger Hans Peter Freyther3-5/+5
EBADFD is linux specific while EBADF is POSIX. Fix the build on FreeBSD and use EBADF throughout the file.
2014-06-22vty: Avoid use-after-free in VTY telnet interfaceDaniel Willmann2-4/+4
If the read callback closes the connection conn is already freed so we can't derefernce it. Instead return -EBADFD in the read function if it closed the connection and check for that.
2014-06-22osmo-auc-gen: Fix compiler warnings about aliasingHolger Hans Peter Freyther1-4/+7
I ran "./utils/osmo-auc-gen -2 -a COMP128v1" and verified that the RAND doen't look empty Fixes: osmo-auc-gen.c: In function ‘main’: osmo-auc-gen.c:219:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)&_rand[0] = rand(); ^ osmo-auc-gen.c:220:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[4]) = rand(); ^ osmo-auc-gen.c:221:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[8]) = rand(); ^ osmo-auc-gen.c:222:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[12]) = rand();
2014-06-22write_queue: Avoid possible use-after-free if fd is read-/writableDaniel Willmann1-5/+18
If the FD is both readable and writable and the read callback closes the connection (and frees the surrounding structure) we shouldn't call the write callback (or check anything else in the read fd). With this patch callback functions can return -EBADFD if they don't want the FD to be handled any more.
2014-06-21update TS 08.08 header + TLV definitions to TS 48.008 / 11.7.0Harald Welte2-18/+151
This adds support for A-over-IP and LCLS related message/IEI definitions. Old definitions are in decimal, which is very hard (at least for me) to compare with the binary tables in the spec. Hex is much easier to manually compare for completeness/correctness. I didn't touch the existing definitions, but think they should move to hex, too.
2014-06-21update gsm_08_08.h to Release 11Harald Welte1-1/+119