summaryrefslogtreecommitdiffstats
path: root/src/vty
Commit message (Collapse)AuthorAgeFilesLines
* write_queue: Use EBADF instead of EBABDFD for portabilityHolger Hans Peter Freyther2014-07-012-2/+2
| | | | | EBADFD is linux specific while EBADF is POSIX. Fix the build on FreeBSD and use EBADF throughout the file.
* vty: Avoid use-after-free in VTY telnet interfaceDaniel Willmann2014-06-222-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.
* vty: Make vty_event dispatch signals and use it in the testcaseHolger Hans Peter Freyther2013-10-101-1/+13
| | | | | | | | | The testcase didn't work on Ubuntu 12.04 because vty_create will directly call vty_event (e.g. not through the plt). This means that the approach to override vty_event in the testcase failed. Use the signal interface of libosmocore and make the testcase use it. The signals can be generally useful as well.
* vty: Allow vty_go_parent() in all nodes.Jacob Erlbeck2013-09-111-5/+25
| | | | | | | This patch removes an assertion of node > CONFIG_NODE and changes the function to handle all nodes properly. For the sake of completeness, the generic 'exit' command implementation is extended to work properly with all nodes, too.
* vty: Replace 'enum node_type' by 'int' for last_nodeJacob Erlbeck2013-09-101-1/+1
| | | | | In this case the last_node variable may hold values that are not in enum node_type, so int is used instead.
* vty: Add vty_install_default() and use for the vty nodesJacob Erlbeck2013-09-083-7/+16
| | | | | | | | | | | This adds the vty_install_default() function that is basically the install_default() function plus the registration of the commands 'exit' and 'end'. The latter is only provided in subnodes of ENABLED_NODE and CONFIG_NONE. The VTY test program is extended to check these commands. Ticket: OW#952
* vty: Refactored vty_go_parent(), 'end' and 'exit'Jacob Erlbeck2013-09-081-22/+35
| | | | | | Put all 'exit' logic into vty_go_parent() and replace the implementations of 'exit' and 'end' by generic ones that use vty_go_parent().
* vty: Rename is_config() to is_config_child()Jacob Erlbeck2013-09-081-3/+3
| | | | | The function is_config() returns 0 for CONFIG_NODE. Since that node is a config node, the function is renamed to resolve this.
* vty: Support multi-char separators and end stringsJacob Erlbeck2013-08-061-4/+5
| | | | | In vty_cmd_string_from_valstr() include the real string lengths of the sep and end arguments into the buffer size calculation.
* vty: Fix misusage of snprintf in vty/utils.cJacob Erlbeck2013-08-061-2/+2
| | | | | | | | | | | | | | | Compiled with ubuntu 1204 (precise), where -Wformat-security is enabled by -Wall. Test yields ok, but the current implementation doesn't properly support multi-character separators and end strings. So the test output is truncated. Addresses: utils.c: In function 'vty_cmd_string_from_valstr': utils.c:84:2: warning: format not a string literal and no format arguments [-Wformat-security] utils.c:84:2: warning: format not a string literal and no format arguments [-Wformat-security] utils.c:108:2: warning: format not a string literal and no format arguments [-Wformat-security] utils.c:108:2: warning: format not a string literal and no format arguments [-Wformat-security]
* vty: Fix logically dead code in the description handlingHolger Hans Peter Freyther2013-07-141-1/+1
| | | | | | | | | | The code most likely wanted to check the result of argv_concat. To do this we need to dereference the dptr. Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement "return 1; Fixes: Coverity CID 1040675
* vty: Attempt to fix various meam leaks in the VTY lookup codeHolger Hans Peter Freyther2013-07-031-0/+3
| | | | | | | | | | These routines were not freeing vectors used for the lookup. On review it is fixing another path not detected by coverity. The danger is a double free in tab completion now. It is difficult to test this. Fixes: Coverity CID 23037, CID 23038
* logging_vty: Fix segfault un unused entries in log_info_cat array of appHarald Welte2013-03-191-0/+4
|
* logging_vty: Print 'log filter all' info in 'show logging vty'Harald Welte2013-03-131-0/+6
| | | | | When we print information about the current logging configuration, it makes sense to also print information about the log filters.
* cygwin: Link many libraries with -no-undefined to create a dllHolger Hans Peter Freyther2013-03-031-1/+1
| | | | | | Only the Gb library relies on having undefined references to a symbol that needs to be provided by the host application. For all other libraries we can link with -no-undefined.
* Added a ring buffer log target to store the last N log messages.Katerina Barone-Adesi2013-02-271-4/+81
| | | | | | | The log target can be used via log alarms and show alarms. Why? This feature was proposed/requested at http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget All messages use the same amount of space, prioritizing simplicity.
* Revert "Added a ring buffer log target to store the last N log messages."Holger Hans Peter Freyther2013-02-271-81/+4
| | | | | | | I noticed some more issues and it is the easiest to revert and include the fixed version. This reverts commit 73377229bb33ab79682ce4b126a63602d13304ad.
* Added a ring buffer log target to store the last N log messages.Katerina Barone-Adesi2013-02-271-4/+81
| | | | | | | The log target can be used via log alarms and show alarms. Why? This feature was proposed/requested at http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget All messages use the same amount of space, prioritizing simplicity.
* VTY: don't show HIDDEN or DEPRECATED vty commands in ? completionHarald Welte2013-02-121-0/+3
| | | | | | | This hides HIDDEN or DEPRECATED commands from showing up when the full list of commands is inquired with '?' at any given point in the command tree. Only if the hidden/deprecated command is already typed in partially, then it will still tab-complete.
* vty/command.c: Cosmetic cleanupHarald Welte2013-02-121-82/+81
| | | | | this is just changing some of the code to reduce the way too high level of indentation and thus improve readability.
* vty: Do better filtering of arguments, optional args particularlySylvain Munaut2013-01-031-208/+143
| | | | | | | | This is essentially http://patchwork.diac24.net/patch/271/ forward ported to libosmovty Original-by: Paul Jakma <paul@quagga.net> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* build: Don't use the deprecated INCLUDES in the various Makefile.amSylvain Munaut2012-12-111-2/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* logging: Make sure to install standard "end" command in VTY nodeHarald Welte2012-10-221-0/+2
| | | | | When you are in the config-log VTY node, you expect "end" to work like in any other sub-node of config.
* logging: Don't forget to save "logging filter all 1"Harald Welte2012-10-221-0/+4
| | | | | | | Prior to this fix, a persistent file or syslog log configuration didn't work across an application re-start, as the "logging filter all 1" was never saved and thus no messages were logged.
* vty: Address compiler warning about the const qualifierHolger Hans Peter Freyther2012-09-111-1/+1
| | | | | vty.c: In function 'vty_out_newline': vty.c:294:12: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
* vty: Address compiler warning about tolowerHolger Hans Peter Freyther2012-09-111-0/+1
| | | | | | | Include ctype.h to have a declaration of tolower. utils.c: In function 'vty_cmd_string_from_valstr': utils.c:95:6: warning: implicit declaration of function 'tolower' [-Wimplicit-function-declaration]
* import vty_cmd_string_from_valstr() from osmo-btsHarald Welte2012-08-201-0/+54
| | | | | This function is able to generate a VTY help string based on an array of 'struct value_string'.
* vty: Print the string using "%s", string to avoid security issuesHolger Hans Peter Freyther2012-08-021-1/+1
| | | | | | The Mandriva GCC is more strict about handling format strings, the copyright string might contain escape sequences and then any memory could be read.
* vty: Document the .TEXT of the descriptionHolger Hans Peter Freyther2012-07-251-1/+2
|
* vty: Add xsd and a command that can generate the documentation.Holger Hans Peter Freyther2012-07-251-0/+148
| | | | | | | | When building the doxygen documentation do not remove the other VTY documentation files in the doc/vty folder. Create a command that can be installed to dump all nodes and commands as XML on the given VTY. Create a schema for the XML file and a XSL-T script that can merge the generated file with additional information.
* correct inverted logic from commit f3ba8aAlexander Huemer2012-07-111-1/+1
|
* build: use LT_INIT(pic-only) instead of forcing -fPIC.Diego Elio Pettenò2012-06-301-1/+1
| | | | | | | | This actually allows for the user to override the decision and at the same time supports compilers that might not be able to use -fPIC at all. Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
* vty: avoid using a .data variable.Diego Elio Pettenò2012-06-301-7/+7
| | | | | | | | no_password_check was the only initialized, non-relocated data in the set of libraries, inverting its logic let us keep it in .bss (non-initialized data, which is mapped to the zero page). Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
* add additional newline in vty welcome messageHarald Welte2012-06-161-2/+2
|
* VTY: safe version of printing VTY welcome messageHarald Welte2012-06-032-19/+11
| | | | | | | | | | | | | | | | | | | | The old method used raw writes to the telnet FD, which is bad for several reasons: a) we don't know if we can actually write that many bytes to the socket at the given time b) the socket is still in blocking mode, so we could stall the entire process c) there may be weird interaction with the buffered writes of the vty_out Now, the print_welcome() functionality has moved to vty_hello() instead, where we can use normal vty_out() in buffered mode. This commit is expected to fix the garbled welcome message on arm-eglibc targets. It might still be a good idea to migrate the entire telnet interface to libtelnet - but at some later time ;)
* doc: Fix the Doxygen section endingsSylvain Munaut2012-04-184-4/+4
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Add a function to write the current config to a file.Holger Hans Peter Freyther2012-03-281-46/+130
|
* vty/telnet: Add function to allow binding telnet interface to custom ↵Sylvain Munaut2012-03-011-35/+22
| | | | | | IP/Interface Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Fixed vty_down_level to move down from config nodesAndreas.Eversberg2011-11-121-3/+5
| | | | | | | | | When using ^D at config nodes above the CONFIG_NODE, the go_parent_cb function is used to go down by one node. This is equivalent to "exit" command. Written-by: Andreas.Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty/telnet_interface: Add telnet_exit functionAndreas.Eversberg2011-11-121-0/+12
| | | | | | | This frees socket and pending connections Written-by: Andreas Eversberg <jolly@eversberg.eu> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* vty: Provide documentation for all logging facilitiesHolger Hans Peter Freyther2011-10-031-1/+10
| | | | Document all facilities in the log syslog command.
* vty: Provide logging set-log-mask, deprecate set log maskHolger Hans Peter Freyther2011-10-031-2/+12
| | | | | | There are no other commands on the set, log and mask level, create a simple set-log-mask command and deprecate the old way.
* doxygen: Add main page for all three librariesHarald Welte2011-08-301-0/+38
|
* doxygen: split VTY configuration in multiple filesHarald Welte2011-08-172-2/+2
|
* doxygen: Add (partial) VTY API documentationHarald Welte2011-08-174-16/+87
|
* telnet_interface: if we don't check for the return value, don't use retHarald Welte2011-07-161-5/+4
|
* telnet_interface: get rid of 'const' warningHarald Welte2011-07-161-1/+1
|
* get rid of non-ANSI function declarations missing (void)Harald Welte2011-07-162-5/+5
| | | | Detected by Smatch
* vty: print actual application name rather than always OpenBSC on connectHarald Welte2011-05-221-3/+9
|
* libosmocore: bump library interface version to '1' for new osmo_ namesHarald Welte2011-05-081-0/+1
|