diff --git a/gestion/config/proxy.py b/gestion/config/proxy.py index 5553ac61e1aafcddfab7a2f11c1ff969f8f259c0..7918bff6feff537077d9e1e379a6de6bf222c83c 100644 --- a/gestion/config/proxy.py +++ b/gestion/config/proxy.py @@ -85,6 +85,7 @@ server { proxy_pass http://%(proxy_pass)s; proxy_set_header Host %(serveur)s; proxy_set_header P-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; } } diff --git a/respbats/change_pw b/respbats/change_pw index 7314c3f0673966df4db608f4f71e89f8ed8ea077..ff8aa27061c442389ffaaed5dfecb806dfb0bb9e 100755 --- a/respbats/change_pw +++ b/respbats/change_pw @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/change_pw "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/change_pw "$@" diff --git a/respbats/find_member b/respbats/find_member index 70f0499834c172bdf3320b958b3d9f8f1d134a9a..e0fd2d5c5e2d9e3b8b02e6bd3463b20737437861 100755 --- a/respbats/find_member +++ b/respbats/find_member @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/find_member "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/find_member "$@" diff --git a/respbats/list_admins b/respbats/list_admins index 7dde49036a6aa13dbdb4b3e7172a80c8348e00d0..45673724984db554f77d57fb6aaad28964f34586 100755 --- a/respbats/list_admins +++ b/respbats/list_admins @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/list_admins "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/list_admins "$@" diff --git a/respbats/list_lists b/respbats/list_lists index 1267fcf9b430d6cdbb446c718f93f08736e012d3..ac596a7d8ee112d97a483df1c6b1b8b041c08870 100755 --- a/respbats/list_lists +++ b/respbats/list_lists @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/list_lists "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/list_lists "$@" diff --git a/respbats/list_members b/respbats/list_members index 104abbbb6fa3a91f8cc3f6caa060512efc3cd5fa..0841c4e37556c295f4edb4f3d130d2561791cf08 100755 --- a/respbats/list_members +++ b/respbats/list_members @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/list_members "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/list_members "$@" diff --git a/respbats/list_requests b/respbats/list_requests index 0b65ce9f526c665d8be5f2338f281f3523ab0ee2..76e150e1f37af4cc1e5c17d3b5d25be13e20f34c 100755 --- a/respbats/list_requests +++ b/respbats/list_requests @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/list_requests "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/list_requests "$@" diff --git a/respbats/newlist b/respbats/newlist index 557540cecac59fb7d3072c72dd17d1a174532366..2636a1c9145af2a986f234180f475fe3626e976c 100755 --- a/respbats/newlist +++ b/respbats/newlist @@ -1,3 +1,3 @@ #!/bin/bash -LANG=fr_FR.UTF-8 sudo -u list /var/lib/mailman/bin/newlist "$@" +LANG=fr_FR.UTF-8 sudo /var/lib/mailman/bin/newlist "$@" diff --git a/utils/check_repos.sh b/utils/check_repos.sh index cb15f3e3e1afd56ddf94dc625662c820da2d2fb6..6e0d106dd06ebfb5ad6b0f68b24c352cfe7168e4 100755 --- a/utils/check_repos.sh +++ b/utils/check_repos.sh @@ -46,9 +46,9 @@ try_ff () { if git status | grep -E "^(# )?Your branch is behind.*can be fast-forwarded.$" -q; then echo "Fast forward..." if [ $hasmodules -eq 0 ]; then - git pull --recurse-submodules origin master || exit 12 + git pull --ff-only --recurse-submodules origin master || exit 12 else - git pull || exit 12 + git pull --ff-only || exit 12 fi else echo "Nothing to fast forward" diff --git a/wiki/auth/anonymous_user.py b/wiki/auth/anonymous_user.py index 2f0d64bf16dc6d7650fee9d333a259fbdc0bf6c0..9b626b461afa00b1950a95fed7f2714301238507 100644 --- a/wiki/auth/anonymous_user.py +++ b/wiki/auth/anonymous_user.py @@ -52,7 +52,7 @@ class AnonymousAuth(BaseAuth): p = urlparse.urlparse(request.url) # Prevent preference edition and quicklink when anonymous if action == "userprefs" or action == "quicklink": - url = urlparse.urlunparse(('https', p.netloc, p.path, "", "", "")) + url = urlparse.urlunparse(('https', p.netloc, p.path, "", "", "")).encode('utf8') request.http_redirect(url) diff --git a/wiki/auth/cas.py b/wiki/auth/cas.py index d90ca40f35fcf48c4cbc69952bfb6d2bde774d5f..9943858f9a5bec46ba1aaf6350707f9dc3235ccc 100644 --- a/wiki/auth/cas.py +++ b/wiki/auth/cas.py @@ -38,21 +38,22 @@ class PyCAS(object): def login_url(self, service): """Return the login URL for the given service.""" - url = self.server_url + self.login_path + '?service=' + urllib.quote_plus(service) + url = self.server_url + self.login_path + '?service=' + urllib.quote_plus(service.encode('utf8')) if self.renew: url += "&renew=true" - return url + return url.decode('utf8') + def logout_url(self, redirect_url=None): """Return the logout URL.""" url = self.server_url + self.logout_path if redirect_url: - url += '?url=' + urllib.quote_plus(redirect_url) - url += '&service=' + urllib.quote_plus(redirect_url) + url += '?url=' + urllib.quote_plus(redirect_url.encode('utf8')) + url += '&service=' + urllib.quote_plus(redirect_url.encode('utf8')) return url def validate_url(self, service, ticket): """Return the validation URL for the given service. (For CAS 1.0)""" - url = self.server_url + self.validate_path + '?service=' + urllib.quote_plus(service) + '&ticket=' + urllib.quote_plus(ticket) + url = self.server_url + self.validate_path + '?service=' + urllib.quote_plus(service.encode('utf8')) + '&ticket=' + urllib.quote_plus(ticket) if self.renew: url += "&renew=true" return url @@ -136,14 +137,14 @@ class CASAuth(BaseAuth): if self.ticket_path and request.method == 'POST': logoutRequest=request.form.get('logoutRequest', None) if logoutRequest is not None: - sys.stderr.write("Tentative de deconnexion du CAS : %s\n" % logoutRequest) + sys.stderr.write("Tentative de déconnexion du CAS : %s\n" % logoutRequest.decode('ascii', 'ignore')) self.cas.singlesignout(logout_user, logoutRequest) # valid ticket on CAS if ticket and ticket.startswith('ST-'): valid, username = self.cas.validate_ticket(url, ticket) if valid: - sys.stderr.write("Authentifiaction de %s sur le CAS\n" % username) + sys.stderr.write("Authentifiction de %s sur le CAS\n" % username) u = user.User(request, auth_username=username, auth_method=self.name) # auto create user ? if self.create_user: diff --git a/wiki/auth/categorie_public.py b/wiki/auth/categorie_public.py index 59d3f7d6de04108995cb25a250ddfd91dce89a55..631cb5c74acf85f6f4903bd8049ca4a8b20dff7a 100644 --- a/wiki/auth/categorie_public.py +++ b/wiki/auth/categorie_public.py @@ -38,7 +38,7 @@ class PublicCategories(AnonymousAuth): sys.stderr.write("Getting page from cache") page = request.page else: - pagename=urllib.unquote(p.path[1:]) + pagename= urllib.unquote(p.path[1:]).encode('ascii', 'ignore') if pagename.endswith(u'/'): pagename=pagename[:-1] page = Page(request, pagename) @@ -53,14 +53,14 @@ class PublicCategories(AnonymousAuth): sys.stderr.write("%r dans la page %r\n" % (cat, p.path[1:])) return True else: - sys.stderr.write("categories is empty, searching in page body of %s\n" % p.path[1:]) + sys.stderr.write("categories is empty, searching in page body of %s\n" % p.path[1:].encode('utf8')) body = page.getPageText() for cat in self.pub_cats: if cat in body: - sys.stderr.write("%r dans la page %r\n" % (cat, p.path[1:])) + sys.stderr.write("%s dans la page %s\n" % (cat.encode('utf8'), p.path[1:].encode('utf8'))) return True - sys.stderr.write("%r n'est pas dans la page %r, %r\n" % (cat, p.path[1:], categories)) + sys.stderr.write("%s n'est pas dans la page %s, %r\n" % (cat.encode('utf8'), p.path[1:].encode('utf8'), categories)) return False