summaryrefslogtreecommitdiff
path: root/doc/source/misc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/source/misc')
-rw-r--r--doc/source/misc/client_certs.rst43
-rw-r--r--doc/source/misc/index.rst2
-rw-r--r--doc/source/misc/pyenv.rst47
-rw-r--r--doc/source/misc/troubleshooting.rst8
4 files changed, 92 insertions, 8 deletions
diff --git a/doc/source/misc/client_certs.rst b/doc/source/misc/client_certs.rst
new file mode 100644
index 00000000..df09ea3c
--- /dev/null
+++ b/doc/source/misc/client_certs.rst
@@ -0,0 +1,43 @@
+Using client certificates to login
+==================================
+
+Passwordless authentication is possible in XMPP through the use of mecanisms
+such as `SASL External`_. This mechanism has to be supported by both the client
+and the server. This page does not cover the server setup, but prosody has a
+`mod_client_certs`_ module which can perform this kind of authentication, and
+also helps you create a self-signed certificate.
+
+Poezio configuration
+--------------------
+
+If you created a certificate using the above link, you should have at least
+two files, a ``.crt`` (public key in PEM format) and a ``.key`` (private key
+in PEM format).
+
+You only have to store the files wherever you want and set :term:`keyfile`
+with the path to the private key (``.key``), and :term:`certfile` with the
+path to the public key (``.crt``).
+
+Authorizing your keys
+---------------------
+
+Now your poezio is setup to try to use client certificates at each connection.
+However, you still need to inform your XMPP server that you want to allow
+those keys to access your account.
+
+This is done through :term:`/cert_add`. Once you have added your certificate,
+you can try to connect without a password by commenting the option.
+
+.. note:: The :term:`/cert_add` command and the others are only available if
+ your server supports them.
+
+Next
+----
+Now that this is setup, you might want to use :term:`/certs` to list the
+keys currently known by your XMPP server, :term:`/cert_revoke` or
+:term:`/cert_disable` to remove them, and :term:`/cert_fetch` to retrieve
+a public key.
+
+
+.. _SASL External: http://xmpp.org/extensions/xep-0178.html
+.. _mod_client_certs: https://code.google.com/p/prosody-modules/wiki/mod_client_certs
diff --git a/doc/source/misc/index.rst b/doc/source/misc/index.rst
index 08349437..2603298e 100644
--- a/doc/source/misc/index.rst
+++ b/doc/source/misc/index.rst
@@ -7,8 +7,10 @@ Contents:
:maxdepth: 2
carbons
+ client_certs
correct
personal_events
+ pyenv
separate
ssl
troubleshooting
diff --git a/doc/source/misc/pyenv.rst b/doc/source/misc/pyenv.rst
new file mode 100644
index 00000000..e46f1bec
--- /dev/null
+++ b/doc/source/misc/pyenv.rst
@@ -0,0 +1,47 @@
+.. _pyenv-install:
+
+Installing python 3.4 as a user
+-------------------------------
+
+Building your own python 3
+==========================
+
+- Go to the `python download page`_
+- Select the “Latest Python 3 Release”
+- Download a tarball and extract it
+- Run ``./configure && make`` (takes only a few minutes even on old CPUs)
+- Edit the poezio launch.sh script to make it call your user-compiled python binary
+
+Pyenv (x86/x86_64 only)
+=======================
+
+Pyenv_ is a useful script that allows you to install several python versions
+in your user directory, and lets you manage which one you want depending on
+the directory you are in. It is therefore useful for people who are on
+distributions not providing the latest stable version, such as Debian or
+CentOS.
+
+You can follow the step-by-step `installation tutorial`_ on github that will
+help you install it to your home directory (on step 5, you should use 3.4.2
+which is the latest python 3.4 release at the time of writing this page); or
+you can use the `automated installer`_ and use ``pyenv install 3.4.2``
+thereafter.
+
+Then you only need to add a ``.python-version`` file containing ``3.4.2`` in
+your poezio directory to make the python version in that directory default to
+the python 3.4.2 installed with pyenv.
+
+
+Other
+=====
+
+pythonz_ allows the same kind of version management as pyenv, but builds
+from source instead of fetching precompiled binaries, so it allows more
+control over what is going on.
+
+
+.. _Pyenv: https://github.com/yyuu/pyenv
+.. _installation tutorial: https://github.com/yyuu/pyenv#installation
+.. _automated installer: https://github.com/yyuu/pyenv-installer
+.. _python download page: https://www.python.org/downloads/source/
+.. _pythonz: https://github.com/saghul/pythonz
diff --git a/doc/source/misc/troubleshooting.rst b/doc/source/misc/troubleshooting.rst
index f3684dce..6e625d09 100644
--- a/doc/source/misc/troubleshooting.rst
+++ b/doc/source/misc/troubleshooting.rst
@@ -23,14 +23,6 @@ Poezio tracebacks with weird encoding errors
--------------------------------------------
Please check your locale for utf-8 compatibility.
-Reconnecting sucks
-------------------
-We know.
-
-Some weird graphical glitches appear once in a blue moon and go away after a refresh
-------------------------------------------------------------------------------------
-We know.
-
Python is too heavy
-------------------
We know. It’s too late to change that. If you are running your XMPP client on a toaster,