320 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
eca538169e diagnostics: Revamp main diagnostics page
- Run diagnostics on each module separately.

- Run diagnostics in a separate thread.

- Show progressive update while running diagnostics.

- Store and show old diagnostics.

- Prevent CSRF on the expensive operation of running diagnostics.
2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
991f848c23 diagnostics: Template/styling helpers for modules 2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
36426b373c diagnostics: Refactor module results template
- For reuse elsewhere
2015-08-29 06:22:01 -04:00
James Valleroy
ea64fa1c7a Merge remote-tracking branch 'sunil/tor-setup' 2015-08-26 19:18:18 -04:00
Sunil Mohan Adapa
be46e9588a shaarli: Minor comments updates 2015-08-23 17:27:34 +05:30
James Valleroy
4458a6537d Add Bookmarks (Shaarli) module. 2015-08-23 16:43:13 +05:30
Sunil Mohan Adapa
0b1e97d99c Treat entire input as password
Instead of just the first line.

PEP8 fixes.
2015-08-23 16:24:29 +05:30
Sean Alexandre
21b9a5b02a Passwords now sent over stdin instead of command line.
Fixes Issue #166:
Don't pass passwords on command line
https://github.com/freedombox/Plinth/issues/166

This issue was for 4 modules: Transmission, Pagekite, DynamicDNS, and Ikiwiki.
2015-08-23 15:20:08 +05:30
Sunil Mohan Adapa
ef156dab91 networks: Minor styling and comments update
- Add comment about PPP peers possibly not responding to echo requests.
2015-08-22 21:14:21 +05:30
Sunil Mohan Adapa
f93de11c6a networks: Handle unknown connections gracefully
When trying to edit connection of unknown type show an error and return
to connections list instead of trying to filling in some fields and
doing badly.
2015-08-22 21:14:21 +05:30
Sunil Mohan Adapa
958c249dfb networks: Retrieve password while editing PPPoE
- Retrieve password using connection.get_secrets() instead of
  settings_pppoe.get_password().

- Make sure IPv4 settings are not accessed during PPPoE editing.
2015-08-22 21:10:56 +05:30
Sunil Mohan Adapa
4f75f44769 networks: Fix showing password during PPPoE edit
- Javascript was missing for the template altogether.  Added one similar
  to create case.

- Minor refactoring to existing javascript.

- Consistent styling for display label and field id.
2015-08-22 20:22:08 +05:30
Daniel Steglich
5eda78a318 Fixed regression on editing Ethernet connections
During implementation of PPPoE based connections I added Username and
Password fields. This fileds are only required when editing a PPPoE
connection.
2015-08-22 13:03:00 +05:30
Daniel Steglich
d79437d2a2 show / hide password box
Added a selectbox to change the input box type from password to text.
2015-08-22 13:03:00 +05:30
Daniel Steglich
286caf8917 Added a new network connection type to handle PPPoE connections
* Added a new choice to main selectbox for adding Network Connections (network.py)
* Added a new form which asks for name, interface, firewall zone, username and password (forms.py, urls.py)
* Added new helper functions to create PPPoE based connection object (network.py)
2015-08-22 13:03:00 +05:30
Sunil Mohan Adapa
ee521e098f tor: Move Tor setup from freedombox-setup
We are still overwriting the entire configuration file instead of
modifying it.
2015-08-18 21:25:01 +05:30
Sunil Mohan Adapa
2ca130b154 users: Implement diagnostics 2015-07-28 21:58:17 +05:30
Sunil Mohan Adapa
fc00cb6bd9 diagnostics: Individual module check framework
Each module will implement its own diagnostics.  The diagnostics module
will provide a common, standardized mechanism for running these
diagnostics.
2015-07-28 21:57:58 +05:30
Sunil Mohan Adapa
09e8a75930 tor: Implement enabling/disabling
- Reorganize hidden service information
2015-07-28 18:10:03 +05:30
Sunil Mohan Adapa
05ef2921db package: Remove package module
- It does not work on all the modules available.

- It does not reload Plinth after changes.

- As of now, there is not strong case for disabling modules in Plinth
  making it unnecessary UI complication.

- Split into multiple small Debian packages is not yet implemented for
  Plinth.  The module expects to work on the Debian modules.  When
  smaller Debian packages are available perhaps we should consider using
  packages.py library instead.
2015-07-28 16:51:19 +05:30
Sunil Mohan Adapa
f002336050 tor: Update styling for service/port table 2015-07-28 16:41:17 +05:30
Sunil Mohan Adapa
3d5f68381d tor: Reimplement getting ports in Python 2015-07-28 16:40:51 +05:30
Sunil Mohan Adapa
fc6bc09c9e help: Move additional info from sidebar to main 2015-07-28 12:39:02 +05:30
Sunil Mohan Adapa
04d0e3a550 owncloud: Move introduction from sidebar to main 2015-07-28 12:38:39 +05:30
Sunil Mohan Adapa
85fa868da0 tor: Move introduction from sidebard to main
- For consistency with other apps and in preparation for frontpage.
2015-07-28 12:22:07 +05:30
Sunil Mohan Adapa
5ffe3dab70 Reorder all app menu items alphabetically
- Alphabetical order is best for users to find the necessary items
  quickly and precitably.

- Currently there is no particular order.
2015-07-28 12:15:35 +05:30
Sunil Mohan Adapa
1c5f4c04ec owncloud: Update menu item with generic name 2015-07-28 12:04:04 +05:30
Sunil Mohan Adapa
b331ba979d tor: Update menu item with generic name 2015-07-28 11:55:19 +05:30
Sunil Mohan Adapa
acf3a919f6 networks: Improvements to interface binding
- Fetch network interfaces list at the time of form creation instead of
  during definition.

- Add help text to interfaces list choice field.

- Don't write an explict check for requiring interface
  selection. required=True, which is default, takes care of that.

- Internationalize the empty selection text.

- Update the empty selection text.

- Re-order interface parameter in the same order of priority/appearance.
2015-07-27 22:03:02 +05:30
Daniel Steglich
378d6b8d84 networks: Always bind connections to a device 2015-07-27 22:03:02 +05:30
James Valleroy
7a464d6f5f first_boot: Switch to new ldap action. 2015-07-26 16:34:29 -04:00
Sunil Mohan Adapa
d363d8db26 users: Use ldapscripts for user management
- Merge all ldap actions into one action.

- Setup ldapscripts using augeas.

- Use the default mechanisms used by ldapscripts.

- Remove adding admin users to 'sudo' group.  Mixing LDAP groups and
  local groups is not a good practice.  'admin' LDAP group will be added
  to sudoers in another patch to freedombox-setup.

- Make all users posixAccount and all groups posixGroup for simplicity.
  Shell access can be restricted in other ways.

- Work around ldapscripts not able to set password using SASL auth.

- Work around ldapscripts having issues with current locale.
2015-07-26 16:33:06 -04:00
Sunil Mohan Adapa
44ec564fd7 users: Fix incorrect replacement of _()
Apologies for the regression.
2015-07-26 13:34:23 -04:00
James Valleroy
d144f6634a Bug fixes:
Check if ejabberd is installed when running actions triggered by signals.
Encode LDAP passwords as bytes.
2015-07-23 22:30:50 +05:30
James Valleroy
97220b89f3 xmpp: Update module layout to match other modules.
Split forms and views into separate files.
Add configuration form to enable/disable the service.
2015-07-23 22:30:50 +05:30
James Valleroy
6bbc622b1a xmpp: Remove account registration and in-band configuration. 2015-07-23 22:30:50 +05:30
James Valleroy
b840875c16 xmpp: Always use LDAP authentication. 2015-07-23 22:30:50 +05:30
James Valleroy
cb7c9c26f7 Send LDAP user passwords to actions through stdin, not as arguments. 2015-07-23 22:30:50 +05:30
James Valleroy
86580c9121 Revert "Don't print LDAP user passwords in log."
This reverts commit b1c9c81d58c80d6b313dd2b8a5c5727ecdf6ac49.

Conflicts:
	plinth/modules/first_boot/forms.py
2015-07-23 22:30:50 +05:30
Sunil Mohan Adapa
cc365fb2eb config: Hide time zone not-set option normally
- After a time zone is set, don't show the option 'No time zone set' any
  more.

- Change the label to 'no time zone set'

- Update the help text to 'time zone' instead of 'timezone'.
2015-07-23 08:58:30 +05:30
Bharath Chava
d93fbba51f Issue 88: When no timezone is set, Plinth shows first one in list. 2015-07-22 22:56:28 +05:30
Sunil Mohan Adapa
c9d918157c transmission: Remove get-enabled from actions 2015-07-19 19:56:05 -04:00
Sunil Mohan Adapa
384867dc25 roundcube: Remove get-enabled from actions 2015-07-19 19:56:05 -04:00
Sunil Mohan Adapa
4906384b39 privoxy: Remove get-enabled from actions 2015-07-19 19:56:05 -04:00
Sunil Mohan Adapa
cedec9b624 mumble: Remove get-enabled from actions 2015-07-19 19:56:05 -04:00
Sunil Mohan Adapa
48da6862b9 ikiwiki: Remove get-enabled from actions 2015-07-19 19:56:05 -04:00
Sunil Mohan Adapa
7cf47bbcb2 deluge: Remove get-enabled from actions
- Use webserver action utilites.

- Move status getting to module __init__.py so that it can be turned
  into an API in future for further simplificaiton.

- Apply this to other modules too in future commits.
2015-07-19 19:54:13 -04:00
Sunil Mohan Adapa
07e2c0ce14 Don't use actions to check if service is running
- To check whether a service is running does not require root
  privileges.  This can directly be done from a module without any
  action.

- Since actions are allowed to be run using sudo, introducing
  unnecessary sub-commands increases attack surface.

- Simple functions calls are unnecessarily being converted to command
  line invocations and involve parsing response.

- There is a lot of repeated code because of this that can be
  eliminated.

- To generalize this, we need to make all non-root system operations
  directly from module instead of delegating to action commands.
2015-07-19 19:54:13 -04:00
Sunil Mohan Adapa
517c364559 pagekite: Move to using python3-augeas
- Merge actions/pagekite_util.py into plinth/modules/pagekite/util.py.

- Rename plinth/modules/pagekite/util.py to utils.py.

- Add python-augeus as dependency.

- Move actions/util.py to plinth/action_utils.py and update services
  that use it.

- Rename _run() method to run() as it is being used publicly.

- Import the utils in a more conventional manner.

- Move all python2 bits to python3.
2015-07-19 15:37:43 -04:00
Sunil Mohan Adapa
2b86ce9fdb users: Remove unused code checking for LDAP user 2015-07-18 17:23:04 +05:30