Hi Cecelia,

On 2011-04-27 10:07, Cecilia Albertsson wrote:
> Hi Alaa,
>
> Thanks for the suggestion, but it didn't work. I still got the same CSRF 
> error when clicking the accept and reject buttons. However, looking at the 
> Django sites listed below, I think the reason it didn't work is that your fix 
> is for Django 1.2 and later only.
In your CentOS install are you using the EPEL builds that I make or are 
you installing from tarballs?

Thanks for spotting this it probably means that I need to patch this for 
my EPEL5 builds of Pootle 2.1.6.

See bug https://bugzilla.redhat.com/show_bug.cgi?id=700337

> http://docs.djangoproject.com/en/1.1/ref/contrib/csrf/
> http://docs.djangoproject.com/en/dev/ref/contrib/csrf/
>
> Since I couldn't find any appropriate rpm packages for Django 1.2, I am 
> unable at this point to update Django, and therefore applied the following 
> (ugly) fix, and now I can review suggestions again.
>
> In pootle/html/js/translatepage.js:
>    /* Uncomment when using Django 1.2 or later */
>    // if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) 
> {
>   //    // Only send the token to relative URLs i.e. locally.
>    //   xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
>   // }
>
>    /* Uncomment when using Django 1.1 or earlier */
>      if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
>        // Only send the token to relative URLs i.e. locally.
>        xhr.setRequestHeader("X-CSRFToken", $("#csrfmiddlewaretoken").val());
>      }
>
> Now I have to remember to change it back when I finally do upgrade Django... 
> (>_<)
> So if you can incorporate a more beautiful fix in the next Pootle release, 
> that would be tremendously helpful.
>
> Maybe the following information can help you. With your CSRF fix in 
> translatepage.js unchanged, the X-CSRFToken in the request header is null:
> X-CSRFToken:null
> X-Requested-With:XMLHttpRequest
>
> The relevant code in Django corresponding to the script csrf.py mentioned in 
> the other thread, seems for Django 1.1.4 to be 
> django/contrib/csrf/middleware.py:
>
>              csrf_token = _make_token(session_id)
>              # check incoming token
>              request_csrf_token = request.POST.get('csrfmiddlewaretoken', '')
>              if request_csrf_token == "":
>                  # Fall back to X-CSRFToken, to make things easier for AJAX
>                  request_csrf_token = request.META.get('HTTP_X_CSRFTOKEN', '')
>
>              if request_csrf_token == "":
>                  return HttpResponseForbidden(_ERROR_MSG)
>
>              if request_csrf_token != csrf_token:
>                  return HttpResponseForbidden(_ERROR_MSG)
>
> Cecilia
>
>
> -----Original Message-----
> From: Alaa Abd El Fattah [mailto:a...@translate.org.za]
> Sent: Tuesday, April 26, 2011 7:47 PM
> To: Cecilia Albertsson
> Cc: Translate-pootle@lists.sourceforge.net
> Subject: Re: [translate-pootle] Cannot review suggestions after CentOS update
>
>
> Try upgrading to 2.1.6 which we just released, it fixed the CSRF issue.
>
> cheers,
> Alaa
>
> ------------------------------------------------------------------------------
> WhatsUp Gold - Download Free Network Management Software
> The most intuitive, comprehensive, and cost-effective network
> management toolset available today.  Delivers lowest initial
> acquisition cost and overall TCO of any competing solution.
> http://p.sf.net/sfu/whatsupgold-sd
> _______________________________________________
> Translate-pootle mailing list
> Translate-pootle@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/translate-pootle


-- 
regards
Dwayne


------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Translate-pootle mailing list
Translate-pootle@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/translate-pootle

Reply via email to