Shibboleth IDP3 + SP + jetty9 + nginx sobre Debian

Objectiu:

Fa uns anys vaig fer una sèrie d’entrades sobre com instal·lar Shibboleth 2.x. Això ha quedat una mica desfasat i, a la vegada, els protocols han evolucionat. La idea d’aquesta entrada és actualitzar el procediment d’instal·lació de la versió 3.6 de l’IDP de Shibboleth i disposar d’un SP que autentiqui via IDP + LDAP i obtingui atributs de l’IDP.

Procediment:

El procediment no és senzill i hi ha moltes coses que poden anar malament. A la vegada, ara que no ens entenen els de Shibboleth… no he vist mai documentació més feixuga i pesada de seguir. La veritat és que no sé quin és el seu usuari tipus, però si no es disposa de tres doctorats i dos màsters es fa molt difícil seguir el que ells consideren un howto bàsic. Dit això, preparem-nos per embrutar-nos i som-hi…

Continua llegint

Java 10.6 a macOS Catalina

Es veu que ja no es pot instal·lar la versió 10.6 de Java sobre macOS Catalina. Els d’Apple fan una feina important intentant que la gent s’actualitzi a versions més recents i actualitzades de programari. Catalina, per exemple, ja no suporta versions de 32 bits. És una política, si més no, interessant.

La qüestió és que, es miri com es miri, hi ha aplicacions antigues no actualitzades des de fa anys que encara depenen de versions antigues de Java.

La versió 10.6 de Java per a macOS es pot obtenir d’aquest enllaç.

Si provem d’instal·lar-lo sobre Catalina se’ns mostrarà un error de compatibilitat. No passa res, cuatre comandes i ho tindrem solucionat:

$ hdiutil mount ~/Downloads/JavaForMacOSX10.6.dmg 
$ pkgutil --expand /Volumes/Java\ for\ macOS\ 2017-001/JavaForOSX.pkg ~/tmp
$ hdiutil unmount /Volumes/Java\ for\ macOS\ 2017-001
$ sed -i '' 's/return false/return true/g' ~/tmp/Distribution
$ pkgutil --flatten ~/tmp ~/Desktop/Java.pkg
$ rm -rf ~/tmp

En aquest punt disposarem d’un nou arxiu Java.pkg a l’Escriptori que podem instal·lar sense problemes a macOS Catalina.

Chrome i Flash

Objectiu:

Permetre que Chrome habiliti permanentment Flash en pàgines en què es confia.

Procediment:

  • Obrir la següent pàgina a Chrome: chrome://flags
  • Cercar ‘Flash’
  • Desactivar l’opció ‘Enable Ephemeral Flash Permissions’

Quan ara s’activi Flash per a una pàgina, la configuració no es reiniciarà cada cop que Chrome s’iniciï.

TSR sobre la int 09h

Aquest petit codi en assembler 16 bits (sí, prehistòria informàtica), és una possible solució a una de les pràctiques que es proposen a l’assignatura de Sistemes Operatius de la Universitat d’Andorra. Vaig tenir la curiositat de reprendre la programació en ASM només per veure com de rovellat estava. La veritat és que n’estava molt!

L’enunciat de la pràctica és clar: s’ha de reescriure la rutina que controla el teclat de manera que quan es premi la tecla F3 s’enviï la comanda DIR<CR> a la consola. Això s’ha d’implementar mitjançant un programa TSR (Terminate and Stay Resident).

La solució que proposo no és del tot òptima per tota una sèrie de detalls que no venen al cas, però és prou vàlida per entendre els conceptes darrere els TSR i les interrupcions de BIOS i DOS.

He refrescat un munt de conceptes interessants que no havia tocat des de feia més de 20 anys. Assembler pot dur a la bogeria, però és un llenguatge que toca directament la màquina i tots els informàtics l’haurien de conèixer, crec, com a mínim una mica.

Codi font i executable: KBSwitch

Aquest codi no té llicència de cap tipus. En podeu fer el que vulgueu.

NOTA: No cal la instal·lació de màquines virtuals DOS com FreeDOS o DOSBox. Funciona sota Windows 7. Per compilar el codi font fa falta MASM32 i LINK16. Al codi font hi ha les instruccions per realitzar aquesta compilació.

Ara torno a la meva vida normal...

Com mostrar les línies no repetides en dos arxius

Objectiu:

Aquesta entrada mostra una comanda, o unió de comandes, Linux per tal de mostrar aquelles línies que no estan repetides en dos arxius. Això potser es pot aconseguir d’una altra manera però no he estat capaç de realitzar el mateix amb eines com diff o comm.

Procediment:

Suposem que disposem de dos arxius anomenats a1.txt i a2.txt. Cadascun d’aquests arxius mostra un contingut com el següent:

$ cat a1.txt
aaa
bbb
ccc
$ cat a2.txt
aaa
ddd
bbb

El resultat d’executar la comanda proposada retornarà el següent:

ccc
ddd

La comanda proposada és:

$ cat a1.txt a2.txt | sort | uniq -c | sort -nr | grep 1 | cut -d ' ' -f5 | sort
ccc
ddd

Fàcil, també, no? Lamentablement, no és perfecta del tot ja que la comanda grep 1 pot mostrar resultats no desitjats, però vaja…