giovedì 30 aprile 2009

Ajax su Https

Scenario: avete un'applicazione Ajax che funziona benissimo. Switchate il protocollo da Http a Https (SSL) e non funziona più.

La prima cosa che vi viene da pensare (come è venuta a me) è che Ajax - o meglio, l'oggetto XmlHttpRequest - non funziona su Https.

Ricerche e un po' di approfondimenti hanno risolto la situazione.

Intanto confermo che XmlHttpRequest (su qualsiasi browser, in particolare Firefox 3 e Internet Explorer 8) funziona su Https.

Il problema è che la pagina chiamante e lo script Javascript (e tutte le altre eventuali sorgenti che formano la pagina, ad esempio le immagini) devono assolutamente provenire da fonti sicure - cioè da fonti sotto Https.

Nel mio caso, infatti, le pagine venivano servite da una directory virtuale sotto Https, mentre gli script in Javascript erano serviti via Http normale. Se questo è il caso, XmlHttpRequest restituisce un errore di Security.

martedì 14 aprile 2009

Xorg.conf per Intel X3100

Un bug introdotto nella release 7.4 di Xorg (Linux) comporta un problema di visualizzazione nelle schede video Intel X3100 - ad esempio montate sui notebook Lenovo T60.

Questo bug fa sì che fallisca il riconoscimento dei driver corretti in automatico da parte di Xorg, cosicché occorre mettere mano direttamente alla configurazione nel file


/etc/X11/xorg.conf


Dopo una serie di tentativi e di studi, sono approdato alla configurazione ottimale, che riporto qua sotto e che si deve immettere andando a editare il file di cui sopra, ad esempio con:


sudo gedit /etc/X11/xorg.conf


Sostituendo interamente il suo contenuto con questo:


# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Device"
Identifier "Configured Video Device"
Driver "intel"
Option "XaaNoPixmapCache"
Option "XAANoOffscreenPixmaps" "1"
Option "DRI" "true"
Option "AccelMethod" "XAA"
VideoRam 440320
Option "XvMCSurfaces" "6"
Option "May_Need_ForceBIOS" "1
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection

PS:
Oggi a colazione dicevo a Lucilla: "Vedi, figliola, non è vero che Linux è gratis! Il suo utilizzo impone che se uno trova la soluzione a un problema deve pubblicarla quanto prima su Internet. Fondamentalmente è questo il meccanismo che ha permesso all'Open Source di essere ciò che è oggi."