Hoy me encontraba desplegando un CMS. Desde los días de LedgerSMB, cuando uno de los desarrolladores de Drupal nos ayudó con el modelo de plantillas he sido un ferviente seguirdor de este sistema.
El caso es que luego de instalarlo y subir el soporte para idiomas y las traducciones en español, comencé a experimentar problemas con el correo electrónico.
Básicamente, el mensaje de error consistía en un problema con el llamado a mail(). Después de indagar un poco en la red, conseguí una sucia solución. Parece estar relacionado con el tamaño del encabezado cuando se usa UTF-8. Así que, para solucionarlo basta con cambiar una línea en el archivo
/includes/unicode.inc
En la función:
function mime_header_encode($string)
Reemplazar
$chunk_size = 47; // floor((75 - strlen("=?UTF-8?B??=")) * 0.75);
con
$chunk_size = 400; // floor((75 - strlen("=?UTF-8?B??=")) * 0.75); ANTES ERA 47
Saludos!
jueves, 19 de mayo de 2011
jueves, 5 de mayo de 2011
Headers en C/C++
Una de las pesadillas de todo programador es determinar el minimo conjunto de llamadas #include que debe hacer para que el código compile y sea óptimo en tiempo de compilación.
El programa deheader realiza una analisis de inclusiones sobre el proyecto e identifica cuales son redundantes. Esto puede ayudar mucho a mejorar el tiempo de compilación.
Mas información aqui
DM
El programa deheader realiza una analisis de inclusiones sobre el proyecto e identifica cuales son redundantes. Esto puede ayudar mucho a mejorar el tiempo de compilación.
Mas información aqui
DM
domingo, 17 de abril de 2011
Tutorial SFML
Bueno, he creado un pequeño tutorial para la creación de video juegos.
http://www.di-ban.org/informatica2/tutoriales/sfmltutorial/
dm
http://www.di-ban.org/informatica2/tutoriales/sfmltutorial/
dm
Etiquetas:
SFML JUEGOS COLISIONES MOVIMIENTO SPRITES
miércoles, 9 de marzo de 2011
WinApi orden o desorden?
Estaba estudiando el API de windows para enumerar procesos y me encuentro con la noticia de que muchas de las funciones relacionadas con esta funcionalidad han sido migradas de Psapi.dll a Kernel32.dll en Windows 7.
Claro, en realidad migradas quiere decir copiadas. Ya que para garantizar compatibilidad hacia atrás, PsApi.dll no ha cambiado y la funcionalidad se encuentra repetida en ambios dll.
Mejor les dejo este artículo para que lo vean ustedes mismos.
Claro, en realidad migradas quiere decir copiadas. Ya que para garantizar compatibilidad hacia atrás, PsApi.dll no ha cambiado y la funcionalidad se encuentra repetida en ambios dll.
Mejor les dejo este artículo para que lo vean ustedes mismos.
miércoles, 2 de marzo de 2011
Wireshark sin privilegios de root
Ya la vida es bastante dificil como para tener que escribir:
$ sudo wireshark &
Así que voy a adicionar una entrada sobre como configurar wireshark para que pueda funcionar sin TODOS los privilegios.
En primer lugar, el ejecutable que se encarga de capturar los datos se llama dumpcap, así que necesitamos privilegios de ejecución sobre el archivo.
sudo chgrp admin /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
Una de las características más interesantes de Linux, son la capacidades. Es el futuro de los privilegios, y tiene un diseño más elaborado que el tradicional GID=0,UID=0.
Para hacer que un ejecutable tenga privilegios restringidos, usamos el programa setcap.
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
Para que esto funcione se ha de tener un kernel compilado con soporte de capacidades. Esto es algo innovador, y aunque tomará algún tiempo liberarnos de los archivos setuid que abundan en el sistema, es una iniciativa muy prometedora.
$ sudo wireshark &
Así que voy a adicionar una entrada sobre como configurar wireshark para que pueda funcionar sin TODOS los privilegios.
En primer lugar, el ejecutable que se encarga de capturar los datos se llama dumpcap, así que necesitamos privilegios de ejecución sobre el archivo.
sudo chgrp admin /usr/bin/dumpcap
sudo chmod 750 /usr/bin/dumpcap
Una de las características más interesantes de Linux, son la capacidades. Es el futuro de los privilegios, y tiene un diseño más elaborado que el tradicional GID=0,UID=0.
Para hacer que un ejecutable tenga privilegios restringidos, usamos el programa setcap.
sudo setcap cap_net_raw,cap_net_admin+eip /usr/bin/dumpcap
Para que esto funcione se ha de tener un kernel compilado con soporte de capacidades. Esto es algo innovador, y aunque tomará algún tiempo liberarnos de los archivos setuid que abundan en el sistema, es una iniciativa muy prometedora.
viernes, 18 de febrero de 2011
El secreto del kernel
El kernel es solo un monton de apuntadores a funciones!
Etiquetas:
kernel source dirty little secret
viernes, 12 de noviembre de 2010
ClearOS y VLAN!!!
ClearOS es una distribución que ofrece buenas características para solucionar el problema de enrutamiento en SOHO. A diferencia de otras alternativas como FreeBSD, puede requerir del uso de CLI y archivos de configuración.
Si se quiere configurar una interfaz para que soporte VLANS, se ha de instalar el programa vconfig.
Y adicionar los archivos en /etc/sysconfig/network-scripts/ifcfg-eth0.
Con estos datos:
DEVICE=eth0.104
VLAN=yes
IPADDR=10.99.104.254
NETMASK=255.255.255.0
ONBOOT=yes
Sin embargo, esto no es suficiente. Para que el dispositivo acepte las solucitudes y aplique el NAT configurado en el sistema (por defecto, tipo 2), se debe modificar el archivo /etc/firewall y asignar el rol de las vlan según sea el caso:
EXTIF="eth0"
LANIF="eth1.1 eth1.2 eth2.1"
DMZIF
WIFIF
HOTIF
DNSIF
Saludos!
Si se quiere configurar una interfaz para que soporte VLANS, se ha de instalar el programa vconfig.
Y adicionar los archivos en /etc/sysconfig/network-scripts/ifcfg-eth0.
Con estos datos:
DEVICE=eth0.104
VLAN=yes
IPADDR=10.99.104.254
NETMASK=255.255.255.0
ONBOOT=yes
Sin embargo, esto no es suficiente. Para que el dispositivo acepte las solucitudes y aplique el NAT configurado en el sistema (por defecto, tipo 2), se debe modificar el archivo /etc/firewall y asignar el rol de las vlan según sea el caso:
EXTIF="eth0"
LANIF="eth1.1 eth1.2 eth2.1"
DMZIF
WIFIF
HOTIF
DNSIF
Saludos!
Suscribirse a:
Entradas (Atom)