Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenVPN: API enable client export #2787

Closed
AdSchellevis opened this issue Oct 3, 2018 · 1 comment
Closed

OpenVPN: API enable client export #2787

AdSchellevis opened this issue Oct 3, 2018 · 1 comment
Assignees
Labels
feature Adding new functionality
Milestone

Comments

@AdSchellevis
Copy link
Member

AdSchellevis commented Oct 3, 2018

(replace vpn_openvpn_export.php)

Some remarks on previous options while working on this:

  • "Host Name Resolution": replace with configurable (list of) hostname(s), strip logic and simplify things
  • "Verify Server CN": only keep non deprecated options
  • "Use Microsoft Certificate Storage instead of local files.": Remove for now, current option likely won't work
  • "Management Interface OpenVPN Manager": remove, current options aren't safe, we should likely leave a text field for specific options like it is now so you can wrap specials here.
@AdSchellevis AdSchellevis added the feature Adding new functionality label Oct 3, 2018
@AdSchellevis AdSchellevis self-assigned this Oct 3, 2018
AdSchellevis added a commit that referenced this issue Oct 3, 2018
Add an empty boilerplate for our new client export module
AdSchellevis added a commit that referenced this issue Oct 10, 2018
…d users endpoint for #2787

The legacy code populated a list of users and certificates, where the user only seems to be used to prefix some content and filter on server type, it seems more obvious to just export related certs for the requested server and show which users it connects to.
AdSchellevis added a commit that referenced this issue Oct 15, 2018
…ng `legacy_interfaces_details()`, while working on #2787 missed something to return configured addresses.

No need to duplicate legacy_interfaces_details.

adds:
```
configctl interface list ifconfig
```
AdSchellevis added a commit that referenced this issue Oct 15, 2018
* Add factory class to request export template types
* Add some test code to show/hide options depending on supported functions
* Use our normal form type to construct the UI
* Use stored ip/hostname when available or determine target based on ip address, the previous hostname resolution type will be replaced.
* List configured templates using /api/openvpn/export/templates/
AdSchellevis added a commit that referenced this issue Oct 16, 2018
* add ui logic for certificate selection
* add local_port
* extend model, which should be used to remember the previous selection and conveniently adds form validation features
* add validatePresetsAction() and storePresetsAction() which can be used to store and validate presets, used in downloadAction() action to persist choices
* gather needed data to generate client config in downloadAction(), todo: add certificate content
@fichtner fichtner added this to the 19.1 milestone Oct 20, 2018
fichtner pushed a commit that referenced this issue Oct 21, 2018
…ng `legacy_interfaces_details()`, while working on #2787 missed something to return configured addresses.

No need to duplicate legacy_interfaces_details.

adds:
```
configctl interface list ifconfig
```

(cherry picked from commit a3cb1a0)
fichtner pushed a commit that referenced this issue Oct 21, 2018
…ng `legacy_interfaces_details()`, while working on #2787 missed something to return configured addresses.

No need to duplicate legacy_interfaces_details.

adds:
```
configctl interface list ifconfig
```

(cherry picked from commit a3cb1a0)
fichtner pushed a commit that referenced this issue Oct 21, 2018
…ng `legacy_interfaces_details()`, while working on #2787 missed something to return configured addresses.

No need to duplicate legacy_interfaces_details.

adds:
```
configctl interface list ifconfig
```

(cherry picked from commit a3cb1a0)
fichtner pushed a commit that referenced this issue Oct 23, 2018
AdSchellevis added a commit that referenced this issue Oct 30, 2018
- Add client certificate info for IExportProvider type in ExportController
- return object in ExportFactory->getProvider()
- Add getFilename(), getFileType(), getContent() to interface IExportProvider and basic implementation for PlainOpenVPN
- Frontend (export.volt), use returned api info to generate download
AdSchellevis added a commit that referenced this issue Nov 2, 2018
- Dynamic map model attributes in form and controller
- Add some fields to PlainOpenVPN, work in progress
AdSchellevis added a commit that referenced this issue Nov 9, 2018
- add option : validate_server_cn
- send "auth-user-pass" in PlainOpenVPN when mode is server_user or server_tls_user
AdSchellevis added a commit that referenced this issue Nov 19, 2018
…eneration. for #2787

Example usage (from inherited object):

$p12 = $this->export_pkcs12($this->config['client_crt'], $this->config['client_prv'], $this->config['p12_password']);
AdSchellevis added a commit that referenced this issue Nov 19, 2018
Add custom input and cleanup supportedOptions() method
AdSchellevis added a commit that referenced this issue Nov 20, 2018
AdSchellevis added a commit that referenced this issue Nov 21, 2018
AdSchellevis added a commit that referenced this issue Nov 26, 2018
The old visc format will be removed, as visz is supported on all platforms
AdSchellevis added a commit that referenced this issue Nov 26, 2018
AdSchellevis added a commit that referenced this issue Nov 27, 2018
AdSchellevis added a commit that referenced this issue Dec 10, 2018
- change server cn validation to server subject
- move "use random port" to custom option
- tgb format issue with SHA1
@fichtner
Copy link
Member

close? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Adding new functionality
Development

No branches or pull requests

2 participants