3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-30 06:02:39 +01:00
Commit Graph

287 Commits

Author SHA1 Message Date
Tim Kourt
c806e6a32a client: Don't quit on agent manager's callbacks in non-interactive mode
In non-interactive mode the agent managers' agent registration callback
precede the actual action command's callback such as 'connect'. iwctl
continues execution until anything else besides the agent registration
callback arrives unless the agent registration has failed.
2019-08-15 15:06:59 -05:00
Tim Kourt
a306b79e8f client: Move definition of agent manager interface
Make the definition of the agent manager interface public.
2019-08-15 15:06:59 -05:00
Tim Kourt
13b22b3744 client: Change agent registration scenarios
Previously, agent was registered only for the interactive mode.
This patch enables agent registration in non-interactive mode
taking into consideration the existence of the command-line options.
2019-08-15 15:06:59 -05:00
Tim Kourt
1c7344fdf6 client: Check status of the command-line option parsing
Check status of the command-line option parsing and quit on error.
2019-08-15 15:06:59 -05:00
Tim Kourt
6d31c9313f client: Introduce command options
Enable parsing of the command-line options by the command module.
The parsed command-line option values are stored in command_options
list and made available through the module’s public API:
command_option_get – allows querying options by name,
command_has_options – checks existence of the options.
2019-08-15 15:06:59 -05:00
Tim Kourt
09f454b19f client: Refactor error message formating 2019-08-15 15:06:59 -05:00
Tim Kourt
34800bfa63 client: Enable word completion for the SSIDs with spaces
"I--> results in "IWD 1"
2019-07-23 17:20:39 -05:00
Tim Kourt
f1dd6b1084 client: Fix network name completion after restart of iwd
Previously, on service disappeared event the list of the known
proxy objects was cleared, but pointers to the default entity
per command family wasn’t reset. Reset default entities for
the command families to remove the dead pointers to the deleted
proxy objects.

==1325== Invalid read of size 8
==1325==    at 0x4055D4: proxy_interface_is_same (dbus-proxy.c:439)
==1325==    by 0x407C28: match_by_partial_name (network.c:220)
==1325==    by 0x40547C: proxy_interface_find_all (dbus-proxy.c:424)
==1325==    by 0x405592: proxy_property_str_completion (dbus-proxy.c:153)
==1325==    by 0x407DA9: network_name_completion (network.c:241)
==1325==    by 0x4E596D5: rl_completion_matches (in /usr/lib64/libreadline.so.7.0)
2019-07-18 23:37:54 -05:00
Tim Kourt
e343162531 client: Add 'set-property' cmd for known networks 2019-04-11 10:57:14 -05:00
Tim Kourt
c7855af5d5 client: Add 'Autoconnect' property for known networks 2019-04-11 10:56:55 -05:00
Tim Kourt
bb33c5db8c client: Add 'Yes', 'No' property type support
This property type will be used for the argument completion among
the properties that require Yes or No value.
2019-04-11 10:54:07 -05:00
Tim Kourt
f5674a2356 client: Eliminate property_value_options struct
property_value_options is replaced with an array of strings
that represent value options for the properties
2019-04-11 10:53:17 -05:00
Tim Kourt
f1e5bc0645 client: Add 'show' cmd for known networks 2019-04-11 10:53:05 -05:00
Tim Kourt
d081f5f871 client: Switch known-networks cmd pattern to common scheme
Switch the command pattern to match the common command scheme
where the entity name (network name) follows the command family name:
From
	known-network forget <network name>
To
	known-network <network name> forget

In addition, it extracts the network match by name logic into its
own function for the further reusability. In the case of ambiguity
between the network objects with the same SSID but different security
types the logic asks to specify the security type in addition
to the network name as follows:
	known-network <network name.security> forget
2019-04-11 10:53:03 -05:00
Tim Kourt
4fa5a9869b client: Add arg completion for the known networks
Enables tab-completion for the network names in known networks
command family. In addition, tab-completion is added for the
entity commands.
2019-04-11 10:51:13 -05:00
Tim Kourt
b30b84373d client: Fix property completion mem leak 2019-04-09 00:05:07 -05:00
Tim Kourt
bb4f4c8159 client: Remove DBus disconnect message 2019-04-09 00:04:47 -05:00
Tim Kourt
6e8ad37ff3 client: Use proper output func 2019-04-09 00:04:47 -05:00
Tim Kourt
3d0f1dae12 client: Remove 'quit' message 2019-04-09 00:04:47 -05:00
Tim Kourt
7ac111cff4 client: Remove unused state 2019-03-22 18:10:47 -05:00
Tim Kourt
acbba6028b client: Remove unused interface 2019-03-21 17:02:20 -05:00
Jason Phan
25823752b3 client: Fix prompt masking
Entering 23 characters at a prompt resulted in 9 extra characters being
added to the line. At this point, you would only be abel to backspace
until the 9th character.

It seems that claling both rl_replace_line("", 0) and rl_redisplay()
before rl_replace_line(masked_input.mask, 0) causes this to happen. Both
calls are redundant anyways as iwctl functions exactly the same without
them (plus no more bug).
2019-03-21 16:16:59 -05:00
Jason Phan
52afe193e6 client: agent: fix agent prompt calls
The password and passphrase processing function calls were switched.
2019-03-20 13:00:11 -05:00
Tim Kourt
569ffdd508 client: Add 'show' command to device in station mode 2019-02-26 12:33:26 -06:00
Marcel Holtmann
42f5d905b1 client: List all enum values in switch statement 2018-12-07 08:58:53 +01:00
Denis Kenzior
5d1e24568f client: Reword station/ap/adhoc list command help
This also fixes a typo in station list help that refers to Station
devices as 'Ad-Hoc'
2018-11-29 20:34:10 -06:00
Tim Kourt
10a4e01657 client: Fix mem leak 2018-11-12 19:25:19 -06:00
Tim Kourt
b0e5b9de02 client: Optimize network property lookups 2018-11-12 11:10:23 -06:00
Tim Kourt
13c4095b77 client: Add SupportedModes property to the adapters 2018-11-12 10:38:00 -06:00
Tim Kourt
a7c28c4977 client: Fix display of the quoted params 2018-11-12 10:37:19 -06:00
Tim Kourt
5afe4576a1 client: Enable 'help', 'version' cmds in non-interactive mode 2018-11-12 10:37:09 -06:00
Tim Kourt
7df4f2e86b client: Fix display refresh after agent prompt
The line count was one line off after the Agent prompt, thus making
the command output to scroll up on each refresh.
2018-11-12 10:36:58 -06:00
Tim Kourt
9c8be9404b client: Update properties for inline display 2018-11-12 10:36:56 -06:00
Denis Kenzior
48b74d6531 client: Update to the new GetHiddenAccessPoints API 2018-11-09 14:06:20 -06:00
Tim Kourt
19f45d9752 client: Implement GetHiddenStations API 2018-11-09 11:34:43 -06:00
Tim Kourt
67f245a497 client: Fix argv for display refresh 2018-11-09 11:34:43 -06:00
Tim Kourt
97cdffc4cd client: Add property 'hidden' to known network 2018-11-09 11:34:43 -06:00
Tim Kourt
a435f8fd4d client: Fix header display for known network list 2018-11-09 11:34:43 -06:00
Marcel Holtmann
63bafa7adf client: Fix includes for using with -std=c99 compiler option 2018-11-01 22:19:45 +01:00
Marcel Holtmann
72a64fa7fb build: Adjust to the latest ELL signal API changes 2018-11-01 22:09:19 +01:00
Andrew Zaborowski
558341a689 client: Fix two format strings 2018-11-01 15:04:56 -05:00
Marcel Holtmann
fe034229eb client: Use l_main_run_with_signal instead of open coding it 2018-11-01 20:48:03 +01:00
Denis Kenzior
405de7019c client: Unify device sibling interface arg completion
Station, WSC, Ad-Hoc and AP family_arg_completion functions were
identical except for which commands they were referencing and the
interface type they were interested in.  Combine all these into a single
function.
2018-09-14 22:59:19 -05:00
Denis Kenzior
304d328bf3 client: Move Device.GetOrderedNetworks to station 2018-09-14 21:45:08 -05:00
Denis Kenzior
7e792071d3 client: Add network_get_name 2018-09-14 21:44:42 -05:00
Denis Kenzior
b64ba2ba0e client: Add network_get_type 2018-09-14 21:44:22 -05:00
Denis Kenzior
8fd8852bf1 client: Move device connect method to station 2018-09-14 21:33:40 -05:00
Denis Kenzior
86e8b8c322 client: Move Device.ConnectHiddenNetwork to station 2018-09-14 21:27:55 -05:00
Denis Kenzior
189a96e91a client: Move Device.Scan method to Station 2018-09-14 21:20:33 -05:00
Denis Kenzior
81dd689611 client: Move Device.Disconnect to Station 2018-09-14 21:20:31 -05:00
Denis Kenzior
6b46beef45 client: Move properties from Device to Station 2018-09-14 21:12:11 -05:00
Denis Kenzior
904d65ce79 client: Get rid of dbus_proxy bind/unbind 2018-09-14 03:47:17 -05:00
Denis Kenzior
48870d0911 client: Expand proxy_property_str_completion
This function now takes an extra argument 'extra_interface'.  When
non-NULL, the property match is furthered filtered by checking whether
the proxy_interface on the given path also contains an interface of type
'extra_interface'
2018-09-14 03:47:17 -05:00
Denis Kenzior
5aa5e2fef6 client: wsc: Get rid of bind/unbind_interface 2018-09-14 03:47:17 -05:00
Denis Kenzior
d90eb32cb0 client: ap: Get rid of bind/unbind_interface 2018-09-14 03:47:17 -05:00
Denis Kenzior
3dab3a1680 client: adhoc: Get rid of bind/unbind_interface 2018-09-14 03:47:17 -05:00
Denis Kenzior
71ea1e102a client: Add device_proxy_find 2018-09-14 03:47:17 -05:00
Denis Kenzior
f85685c9e4 client: Add proxy_interface_get_path 2018-09-14 03:47:17 -05:00
Denis Kenzior
ad13680420 client: dbus-proxy: Relax requirements for find_all
If the function is not provided, assume that we want to match all
proxies of a given interface.
2018-09-14 03:47:17 -05:00
Tim Kourt
a7aecb8573 client: add noninteractive support into main 2018-08-06 12:42:09 -05:00
Tim Kourt
9944b7b3b5 client: add noninteractive support into proxy 2018-08-06 12:42:06 -05:00
Tim Kourt
1d931d8a68 client: add noninteractive support for cmds 2018-08-06 12:42:03 -05:00
Tim Kourt
ef2878d5ee client: rename generic cmd list 2018-08-06 12:32:49 -05:00
Tim Kourt
2ba4efe39e client: add new command statuses
Split CMD_STATUS_OK into CMD_STATUS_DONE and CMD_STATUS_TRIGGERED.
The split is necessary for the enablement of noninteractive mode.
2018-08-06 12:32:22 -05:00
Tim Kourt
ce4a272186 client: move static array inits out of display_init() 2018-08-03 14:42:04 -05:00
Tim Kourt
664723f427 client: remove unused ordered networks from device 2018-08-02 20:54:41 -05:00
Tim Kourt
273d5d264a client: truncate long property strings
provide accessors for the vendor and model properties
2018-08-02 20:54:32 -05:00
Tim Kourt
8238ca7fce client: destroy builder on append failure 2018-08-02 20:54:28 -05:00
Tim Kourt
a3bc408ae4 client: truncate value string to the column length 2018-08-02 20:54:25 -05:00
Andrew Zaborowski
f6aa2c7236 client: Fix comparing current prompt against previous
We'd add the new command propmpt to history if it was different from
what current_history() returned which may not be the last command
executed, so we'd possibly add multiple identical commands to history
and skip some that were new.  Instead compare against
history_get(last index).
Also remove an always-true part of the condition on the next line.
2018-08-01 09:32:00 -05:00
Andrew Zaborowski
2e08b3e129 client: Update known-networks commands with DBus API changes 2018-07-31 11:57:52 -05:00
Andrew Zaborowski
15ade259e6 client: Fix parsing commands with no "entity" part
The code would assume that a command with argc >= 3 would always be
composed of <family name> <entity> <command> and thus
"known-networks forget <ssid>" could not be executed.  Instead of
checking argc >= 3 check whether command->entity is non-NULL.
2018-07-31 11:38:35 -05:00
Andrew Zaborowski
18e672fa2f client: Make sure network_args.type is initialised
Otherwise match_by_device_and_args might segfault.
2018-07-31 11:24:33 -05:00
Andrew Zaborowski
61bdb7e19f client: Free previous property values on update 2018-07-31 11:23:04 -05:00
Andrew Zaborowski
242a13df5a client: Drop known network LastSeenTime property 2018-07-31 11:20:09 -05:00
Tim Kourt
e3737fd44e client: fix mem leak after arg parsing 2018-07-30 13:18:35 -05:00
Tim Kourt
efe45e4180 client: add client support for AdHoc 2018-07-30 09:00:57 -05:00
Tim Kourt
727a44aab4 client: add AdHoc concept into device 2018-07-30 09:00:57 -05:00
Tim Kourt
0fec184eae client: add client support for AP 2018-07-30 09:00:57 -05:00
Tim Kourt
f9dc72088e client: add access point concept into device 2018-07-30 09:00:57 -05:00
Tim Kourt
6c80e1e277 client: add AdHoc and AccessPoint Dbus interfaces 2018-07-30 09:00:57 -05:00
Denis Kenzior
67e590cfeb client: Utilize l_parse_args 2018-07-30 08:59:55 -05:00
Tim Kourt
527c0060bc client: add property completion for set-property cmd
In addition, it defines the value options for the Power, WDS and
Mode properties. The builder variant appenders for 'Set' cmd
are also defined here.
2018-07-25 16:05:18 -05:00
Tim Kourt
5549219217 client: switch adapter to use proxy property completion
In addition, it defines the value options for the Power property
2018-07-25 16:05:16 -05:00
Tim Kourt
687dcc6145 client: add variant appender for the on/off properties 2018-07-25 16:05:12 -05:00
Tim Kourt
6ba707fca8 client: add completion for proxy property names and values 2018-07-25 16:05:09 -05:00
Tim Kourt
1e78ed5a7d client: add property setter for device 2018-07-25 16:04:59 -05:00
Tim Kourt
f7171665d1 client: add property setter for adapter 2018-07-25 15:26:48 -05:00
Tim Kourt
d3742ba651 client: add property setter for proxy
v2: renamed builder_append_value_variant -> append
2018-07-25 15:26:31 -05:00
Tim Kourt
c5cf3b083f client: add cmd line token finder
This allows to inspect the cmd line for the existence of a provided
token. This enables the completers to look back to what was entered
before them and make decisions based on that information. For
example, this can be used in completion of the property values
to identify the property for which the value is being completed.
2018-07-25 11:47:10 -05:00
Tim Kourt
bb1a0adec7 client: introduce proxy property utils
All of the shared functions related to the processing of the
proxy properties will reside in this collection.
2018-07-25 11:21:14 -05:00
Tim Kourt
2df7f76393 client: rename all local setters to follow nomenclature 2018-07-25 11:17:32 -05:00
Tim Kourt
46a188eb39 client: rename property setters
As the local objects are updated from DBus, the new name is more
appropriate for the purpose.
2018-07-25 11:16:54 -05:00
Tim Kourt
dbe36df5ae client: remove wsc capability indicator 2018-07-25 11:16:33 -05:00
Tim Kourt
a865f60c54 client: add 'Mode' property to device 2018-07-25 11:16:23 -05:00
Denis Kenzior
49d011dabe client: Use connect-hidden instead of create-hidden 2018-07-13 12:36:09 -05:00
Tim Kourt
f545f94581 client: add support for the hidden networks 2018-07-11 17:23:54 -05:00
Antonio Quartulli
8fdce84abb client: add support for WDS Device property 2018-06-13 21:20:44 -05:00
Tim Kourt
bb4df24fc5 client: workaround for readline prompt setting issue 2018-05-31 19:40:22 -05:00
Tim Kourt
33da1d77c2 client: change connect cmd logic
Change connection logic form using a list of the previously
obtained ordered networks to use network proxy objects.
This excludes the need to run get-networks command before
the connect command.
2018-05-31 19:39:58 -05:00