                         __      _ _ ___ _               
                        / _|__ _(_) |_  ) |__  __ _ _ _  
                       |  _/ _` | | |/ /| '_ \/ _` | ' \ 
                       |_| \__,_|_|_/___|_.__/\__,_|_||_|

================================================================================
ToDo
================================================================================

See https://github.com/fail2ban/fail2ban/issues?state=open for the list of
current outstanding issues and wishlists.  They should also be sorted among
milestones and tagged for filtering.  This file reflects possibly outdated
plans but is kept for someone to move them into github's issues.

Legend:
- not yet done
? maybe
# partially done
* done

* Removed relative imports

* Cleanup fail2ban-client and fail2ban-server. Move code to server/ and client/

- Add timeout to external commands (signal alarm, watchdog thread, etc)

- Uniformize filters and actions name. Use the software name (openssh, postfix,
  proftp) and possible qualifier (e.g. auth) after a '-'

- Added <USER> tag for failregex. Add features using this information. Maybe add
  more tags

- Look at the memory consumption. Decrease memory usage

- More detailed statistics

- Auto-enable function (search for log files), check modification date to see if
  service is still in use

- Improve parsing of the action parameters in jailreader.py

- Better handling of the protocol in transmitter.py

- Add gettext support (I18N)

- Multiline log reading

- Improve execution of action. Why does subprocess.call deadlock with
  multi-jails?

# see Feature Request Tracking System at SourceForge.net

# improve documentation and website for user

# better return values in function

# refactoring in server.py, actions.py, filter.py

* New backend: pyinotify
