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

253 Commits

Author SHA1 Message Date
Tim Kourt
a5928f0e4c client: Simplify printing logic 2019-10-16 15:50:02 -05:00
Marcel Holtmann
765bb92084 build: Add skeleton manual pages for all installed binaries 2019-09-22 21:57:47 +02:00
Tim Kourt
19529a4d3a client: Don't register agent without a need
Register agent iff no '--dontask' command-line option has been provided
or there are some other command line options besides '--dontask'
2019-09-19 12:36:12 -05:00
Tim Kourt
411834e089 client: Remove unused API 2019-09-19 12:36:12 -05:00
Tim Kourt
79ccff464f client: Provide '--help' command-line option
In addition, this improves the 'help' display
2019-09-19 11:29:09 -05:00
Tim Kourt
d369a650ab client: Don’t prompt for secrets if '--dontask' is used 2019-09-19 11:26:40 -05:00
Tim Kourt
62d286a745 client: Add '--dontask' command-line option
This option prevents iwctl from prompting user for the secrets
if they were not provided as the command-line arguments.
2019-09-19 11:26:19 -05:00
Tim Kourt
0a1cd37228 client: Enable lookup of command options with no arguments.
Previously, command_option_get used to return NULL in the following
two scenarios: when command-line option with a such name didn’t exists
or its argument was not provided. This worked great for the cmd-line
options with the required arguments. With introduction of the cmd-line
options with no or optional arguments the function was changed to return
a boolean value indicating the existence of a such option and then, if
it had an argument - value_out variable would have been set.

Thereafter, this patch modifies the current usages of command_option_get.
Note, in these particular applications of command_option_get there is no
need to check the returned value from command_option_get, since these
options have the required arguments and we can only check if the value_out
parameter has been set or not.
2019-09-19 11:25:53 -05:00
Tim Kourt
8be98d6149 client: Change semantics of return value from command_init
Instead of returning the mode of execution, command_init now
returns whether we are done and need to exit.

Thereafter, the mode of execution is now obtain though the command
module’s API.
2019-09-17 16:17:30 -05:00
Tim Kourt
df32279a31 client: Enable non-interactive mode support for agent prompts 2019-09-02 16:12:37 -05:00
Tim Kourt
02e38304b3 client: Prompt user for missing secrets in non-interactive mode
In non-interactive mode, prompt user for the missing secrets if
no command-line options were given.
2019-09-02 16:12:37 -05:00
Tim Kourt
589f6182b5 client: Set exit status on agent reg. failure 2019-09-02 16:12:37 -05:00
Tim Kourt
6c64016402 client: Make agent registration unconditional 2019-09-02 16:12:37 -05:00
Tim Kourt
ebad9bf9be client: Enhance secret masking
Due to the changed IO behavior, pasting of the secrets
into the agent prompt became impossible. The reimplemented
logic allows to add (paste) an arbitrary number of characters
into a desired position of a secret string up to its max lengths.
The deletion has also been reworked to accommodate the new behavior.
2019-08-27 13:25:14 -05:00
Tim Kourt
44fcb2b1d7 client: Preserve command history in between the instances
This also limits the number of entries in history to 24.
2019-08-27 10:30:01 -05:00
Tim Kourt
cc7cab63d2 client: Enable agent to query command-line options
Enable agent to query the command-line options for the requested
credentials in non-interactive mode.
2019-08-15 15:06:59 -05:00
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