484 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
9f3010e757
apache2: Don't explicitly enable php7.0 module.
Don't explicitly enable module php7.0. Rely on the package libapache2-mod-php
installing the current version of the package and enabling. This ensures that
when PHP version changes, the code is not broken.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2018-01-30 18:40:05 +05:30
Joseph Nuthalapati
45c23068db
matrix-synapse: Fix YAML format issues.
/etc/matrix-synapse/homeserver.yaml file has several complex cases of inline
comments which are introducing bugs when parsed with ruamel.yaml
Eliminated the problem by discarding comments altogether since the YAML data is
only read by Plinth and not by a human.

Closes #1214

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2018-01-30 12:30:16 +05:30
Joseph Nuthalapati
9dae13ada5
actions: test case for is-package-manager-busy command
comments, import optimization and YAPF formatting.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2018-01-30 10:57:58 +05:30
Sunil Mohan Adapa
1779ac8928
openvpn: yapf indentation
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-01-14 20:40:21 -05:00
Sunil Mohan Adapa
71cc0e1fb0
openvpn: Upgrade to the new Debian way
Earlier only openvpn@.service file was available. Currently, Debian is using
openvpn-server@.service and openvpn-client@.service. Start using this and
upgrade our current users to this approach. This fixes the problem with
incorrect enabling/disabling of OpenVPN app in Plinth.

Tested primarily three cases:

- Install version 2 of the app directly. Make sure daemon runs,
  enabling/disabling the app works.

- Install version 1 of the app. Disable it. Upgrade to version 2 make sure
  everything is upgraded but disabled. Enabling make the app work properly.

- Install version 1 of the app. Enable it. Upgrade to version 2 make sure
  everything is upgraded, app is enabled and running.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-01-14 20:40:04 -05:00
Joseph Nuthalpati
37138ee83b
mediawiki: Add wiki application
Installs and configures MediaWiki. SSO integration is not included yet.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2018-01-01 13:20:37 -05:00
James Valleroy
c7c9b200a8
bind: Remove option to enable forwarding
Forwarding is enabled by adding forwarders.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-12-31 18:42:12 +05:30
James Valleroy
3cb95fcbbd
bind: Add tests for config
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-12-31 18:41:48 +05:30
hanisha
76ffad7955
Option to enable/disble automatic timeline snapshots
Signed-off-by: Hanisha P<hanishap@thoughtworks.com>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-12-18 12:21:01 +05:30
Joseph Nuthalapati
3e5dcfcbf5
snapshots: Button to delete all snapshots
- closes #1144

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-14 10:04:07 -05:00
Sunil Mohan Adapa
2d17f19ae2
users: Add a note about using separate first setup action
Instead of a separate action that is conditionally called for a version number,
we can check if the domain currently configured is what we want and then based
on the value do a reconfiguration. This approach will work better when Plinth
state is reset etc.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-12-14 11:43:23 +05:30
James Valleroy
87eecb7c62
users: Handle upgrade for ldapscripts config
Increment users module version so existing users will get FreedomBox
copy of ldapscripts config file.

Avoid reconfiguration of slapd during module upgrade, because this
will move the existing database.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-12-14 11:43:07 +05:30
James Valleroy
4cbb60ccfe
users: Use own copy of ldapscripts config
Avoid modifying the conffile shipped with ldapscripts.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-12-14 11:42:51 +05:30
John McCann
cb55b87660
ejabberd: Use dynamic reload after enabling/disabling MAM
After a user enables/disables MAM, use ejabberd's reload_config instead
of restarting ejabberd.

Please let me know how this looks? Could reload_config also be of use
when adding/dropping a Let's Encrypt certificate?

Fixes #1010

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-13 08:48:16 -05:00
Joseph Nuthalapati
32b2ef38c7
Fixes for user groups
- Edit user form fails because a 'wiki' group entry exists in the database
  though the ikiwiki app hasn't been installed yet.
- Register group when a user group is created by an application, so that a
  plinth restart can be avoided.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-10 19:09:58 -05:00
Joseph Nuthalapati
7ce5d1f636
groups: User permissions for access to apps based on LDAP groups
- More user-friendly treatment of groups and their permissions

Closes #690

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-10 19:09:55 -05:00
Joseph Nuthalapati
2f67fb49d4
Add framework for user groups per application
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-10 19:09:17 -05:00
Joseph Nuthalapati
111f8f9145
sso: Fixes for regressions after adding captcha and axes
- Change sso refresh url to refresh-pubtkt since refresh was conflicting with
  captcha's image refresh url.
- Fix datetime.timedelta calculation for refresh interval. Now validity of
  ticket is 30 seconds as it was intended to be. It was wrongly set to 30 days
  earlier.

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-12-02 17:03:07 -05:00
Sunil Mohan Adapa
6927e12f54
service: Add missing restart action
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-29 17:53:43 +05:30
Sunil Mohan Adapa
c61d61ec66
shadowsocks: Restart service instead of reload
- The service file does not support reloading

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-29 17:53:25 +05:30
Sunil Mohan Adapa
aeae8c55a4
shadowsocks: Read configuration as root, update description
- Also use the service helper to start stop shadowsocks service.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-29 17:53:17 +05:30
Sunil Mohan Adapa
9cfcc08434
shadowsocks: Create a config with stricter permissions
So that the server password is not read by other users on the system.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-29 17:53:09 +05:30
James Valleroy
6bf4eb1483
shadowsocks: Add shadowsocks client with socks5 proxy
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-29 17:47:05 +05:30
Joseph Nuthalapati
bf1664aa9d
config: Avoid sending domain_added signal for empty domain
- Fixes #1123

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-11-28 22:07:17 -05:00
RaviBolla
644b4ef4e5
config: refactoring of config.py into views and form
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-11-13 12:52:21 -05:00
Sunil Mohan Adapa
e4aa77d9f2
cockpit: Make the application usable
All users can login. Only admin users can see logs and make changes.

LIMITATION: Only certain functions such as service management is possible.
Functions such as networking and user management is read-only. This problem does
not occur for user belonging to the 'sudo' group.

- Move to system section from applications section.

- Rename action script to cockpit instead of cockpit.

- Deal with .socket/.service correctly.

- Implement hooks on domain name changes and update configuration correctly.

- Host the application under /_cockpit instead of /cockpit because it is
  reserved.

- Update description.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-11-06 06:54:52 -05:00
vignanl
44cf56c222
cockpit: New module for server administration
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-06 13:22:10 +05:30
Sunil Mohan Adapa
7327a6b803
users: After setup, enable and restart slapd and nslcd
Apply the patch present in Debian packaging:

James Valleroy: When testing new image builds, I found users created through
plinth could not login through console or SSH. The reason is that slapd and
nslcd services were not enabled and not running. I don't know what is causing
this situation, so this is just a workaround.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-11-03 18:33:11 +05:30
Johannes Keyser
2ca5cd8043
ejabberd: Fix LDAP server entry in config file during setup.
Signed-off-by: Johannes Keyser <johanneskeyser@posteo.de>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-31 19:52:53 -04:00
Sunil Mohan Adapa
511c957ece
matrixsynapse: Minor PEP8 fixes
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-18 17:31:02 +05:30
Sunil Mohan Adapa
05fc508af8
matrixsynapse: Restart server after post install
This does not effect the first install but is necessary when upgrading to newer
Plinth module version.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-18 17:30:48 +05:30
Sunil Mohan Adapa
f5158c6186
matrixsynapse: Disable public registration by default
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-18 17:30:33 +05:30
Hemanth Kumar Veeranki
025cf4dd2c
matrixsynapse: Enable LDAP integration
Signed-off-by: Hemanth Kumar Veeranki <hemanthveeranki@gmail.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-18 17:30:18 +05:30
Sunil Mohan Adapa
ccfe511e4c
users: Minor refactoring
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-17 17:39:42 +05:30
Joseph Nuthalpati
396e086727
users: Migrate ldap bash script into actions/users
- Also wrote unit tests in users/tests/test_actions

Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-17 09:25:14 +05:30
Sunil Mohan Adapa
00d8e03d90
ttrss: Minor refactoring
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-16 17:45:41 +05:30
Joseph Nuthalapati
028a3ad207
tt-rss: Enable API access by default
API access is required to use tt-rss from the official Android app
Closes #1060

Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2017-10-16 14:37:38 +05:30
Sunil Mohan Adapa
5e6e02184e
networks: Make setup script idempotent
Only add a connection for a device if a connection with that name is not already
associated with that device.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
2017-10-09 11:24:21 +05:30
Sunil Mohan Adapa
6802e20a1d
networks: Activate the newly created connections
When network-manager restarts, it leaves the existing connections intact. When
it start again, it somehow restores that active connection. So, restarting
network-manager is not a solution to activate all newly created connections.
Explicitly activate all connections and don't restart network-manager. Do
connection activation in background so that failed activation does not lead to
failed setup of remaining connections.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalpati <njoseph@thoughtworks.com>
2017-10-09 11:24:06 +05:30
Sunil Mohan Adapa
56b071858b
users: Restart nscd after setup
The changes made for system login will not be effective until a restart. This
includes SSH login, console login, getent answers, etc.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-07 07:08:27 -04:00
Rahul De
a22a01a76f Generic framework for user group per application
- Closes #928
- Adds shell and python APIs adding/removing LDAP groups

Signed-off-by: Rahul De <rahul080327@gmail.com>
Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-10-05 10:43:50 +05:30
James Valleroy
a155119738
networks: Show message when skipping configuration 2017-10-03 20:27:18 -04:00
Sunil Mohan Adapa
249f29cef6
networks: Numeric sort of interfaces instead of lexical sort
This does not change the order of any of the current devices.  Only device
supported currently that has multiple interfaces is APU.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-10-03 18:41:01 +05:30
Sunil Mohan Adapa
f1459c066f
networks: Move initial connection setup to Plinth
- For a user who installed using FreedomBox disk image, when Plinth upgrades to
  a release containing this change, don't run network setup. This is ensured by
  not incrementing the version number of the networks module.

- For a user who installed using freedombox-setup Debian package, when Plinth
  upgrades to a release containing this change, don't run network setup. This is
  ensured by not incrementing the version number of the networks module.

- For a user who installed using freedombox-setup Debian package, when Plinth is
  run for the first time, don't run network setup. This is ensured by checking
  for the file /var/lib/freedombox/is-freedombox-disk-image which will not
  exist.

- For a user who installed using FreedomBox disk image, when Plinth runs for the
  first time, setup process executes and triggers the script due networks module
  being an essential module.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-10-03 18:40:51 +05:30
Johannes Keyser
f5f0f7e791
matrix-synapse: Option public registrations fixed and simplified.
* Fixing wrong function calls leading to error 500.
* Merging enable/disabling/status into single action, to improve
  handling in cli, and reduce code duplication.
* Fixing order of restart and enabling of public registration option.
* Minor, cosmetic fixes of code and user-facing strings.
* Overall code design now almost identical to Ejabberd service page.

Signed-off-by: Johannes Keyser <johanneskeyser@posteo.de>
2017-10-01 22:59:17 +02:00
Hemanth Kumar Veeranki
a1014946d2
matrix-synapse: feature to enable/disable public registrations
Signed-off-by: Hemanth Kumar Veeranki <hemanthveeranki@gmail.com>

Reviewed-by: Johannes Keyser <johanneskeyser@posteo.de>
2017-10-01 22:59:17 +02:00
Johannes Keyser
f628eb2cc2
ejabberd: Use Let's Encrypt certificate, also across renewals.
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-10-01 10:48:39 -04:00
abilashr
81fde34254
Rename Disks and Snapshots in Configuration tab
- Rename Disks to Storage
- Rename Snapshot to Storage Snapshots

Reviewed-by: Joseph Nuthalapati <njoseph@thoughtworks.com>
2017-09-27 09:39:34 +05:30
Sunil Mohan Adapa
602ea6cf16
apache: New module to manage Apache configuration
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-09-01 20:04:07 -04:00
Sunil Mohan Adapa
07c062aef3
ssh: New application to manage SSH server
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2017-09-01 20:03:58 -04:00