Upgrade x (Solaris + SqueezeCenter)

Here’s a quick way to upgrade one or both Solaris (tested with Nevada snv_107) and SqueezeCenter (tested with SC 7.4 24827).

  1. Remove the CPAN directory in the SC root directory
    # mv CPAN CPAN.orig
  2. Install missing CPAN modules
    # perl -MCPAN -e shell
    cpan> install Bundle::CPAN
    . . .
    cpan> reload CPAN
    cpan> install I18N::LangTags
    cpan> force install Scalar::Util
  3. Disable Encode::Detect::Detector module in Slim/Utils/Unicode.pm (line 40). The module can’t be compiled for Solaris.
    # vi Slim/Utils/Unicode.pm
    . . .
    #use Encode::Detect::Detector;

External searching in mybb

Sometimes you need to integrate web-pages with corresponding forum threads. Here’s one of the ways to do it.

<?php
$keywords=”MyBB integration”; // The search keywords
?>
<!– The path to mybb search.php –>
<form method=”post” action=”http://www.yoursite.com/mybb/search.php”>
<input type=”hidden” name=”action” value=”do_search” />
<input type=”hidden” name=”keywords” value=”<?php echo $keywords; ?>” />
<!– search titles only –>
<input type=”hidden”  name=”postthread” value=”2″ />
<!– Search in all forums –>
<input type=”hidden” name=”forums[]” size=”15″ multiple=”multiple” value=”all”>
<!– All dates –>
<input type=”hidden” name=”postdate” value=”0″>
<input type=”hidden” name=”pddir” value=”1″ />
<input type=”hidden” name=”sortby” value=”lastpost”>
<input type=”hidden” name=”sortordr” value=”asc” />
<!– the result will be threads, not posts –>
<input type=”hidden” name=”showresults” value=”threads” />
<input type=”submit” class=”button” name=”submit” value=”Forum” />
</form>

Short script for searching mail logs

Today I had to search through dozens of mail logs (syslog) located on several mail relays and find all entries related to a particular user.

Given:

  • All servers are managed via a remote tty console,
  • The ksh-script must be copy&pasteable
  • All logs are gzipped
  • I need all entries with the same message number (the ninth field) as the found log entry

This is what I came up with:

Continue reading “Short script for searching mail logs”

Wine 1.1.5 for Solaris

Wine 1.1.5 is out. So are new compiling errors:

gmake[2]: Entering directory `/var/tmp/wine-1.1.5/dlls/cryptnet’
gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -O2 -o cryptnet_main.o cryptnet_main.c
In file included from cryptnet_main.c:31:
../../include/winbase.h:1518: error: syntax error before “va_list”
../../include/winbase.h:1519: error: syntax error before “va_list”
gmake[2]: *** [cryptnet_main.o] Error 1
gmake[2]: Leaving directory `/var/tmp/wine-1.1.5/dlls/cryptnet’
gmake[1]: *** [cryptnet] Error 2
gmake[1]: Leaving directory `/var/tmp/wine-1.1.5/dlls’
gmake: *** [dlls] Error 2

The thing is, wine/debug.h must be included before any other win*.h headers in dlls/cryptnet/cryptnet_main.c

$ more dlls/cryptnet/cryptnet_main.c
. . .
#include “wine/debug.h”
#include “windef.h”
#include “winbase.h”
#include “winnt.h”
#include “winnls.h”
#include “wininet.h”
#include “objbase.h”
#define CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS
#include “wincrypt.h”
. . .

DNS, IP, AS, whois etc testers

  • Squish DNS (A, SOA, CNAME, NS, PTR, AAAA. ANY) tester
  • What’s my DNS DNS propagation tester
  • DNS-OARC Web-based DNS randomness test
  • Robtex RBL Realtime Block List, Domain Name Server records, IP Reverse DNS, C-Network, Domain
  • Whois, Route, AS Analysis, DNS graphs
  • DNSstuff IP, whois, country IP, traceroute, VectorTrace, DNS traversal, Speed tests, HTML validator
  • What’s my IP IP, DNS, whois, traceroute testers, port scanner
  • w3dt DNS lookup, DNS traversal, PortScan, trace route, RBL check, MTU route, NTP test, remote process list
  • Into DNS

CAPTCHA’s and phpBB

“Easy for bots, difficult for humans”. Not that it was the idea behind Completely Automated Public Turing tests to tell Computers and Humans Apart. The proper test should:

  1. work properly out of the box
  2. work regardless of language settings
  3. be solvable for almost all humans
  4. and few Bots

But what about the implementations? Read about CAPTCHA’s here.

SqueezeCenter again. Testing v7.3

SqueezeCenter 7.2 is officially out and not interesting anymore 😉 Let’s have a look at version 7.3 which has a new streaming service. In this test I downloaded SqueezeCenter-7.3-22975.ZIP from here.

The first attempt to start the server (after unpacking and “chmod“-ding) gave me this error:

# ./slimserver.pl
The following modules failed to load: YAML::Syck

To download and compile them, please run: /usr/local/SqueezeCenter-7.3-22975/Bin/build-perl-modules.pl YAML::Syck

Exiting..

The “built-in” build-perl-modules.pl failed to install the CPAN module:

# /usr/local/SqueezeCenter-7.3-22975/Bin/build-perl-modules.pl YAML::Syck
Welcome to the Slim Devices perl module installer.

These packages are needed for SqueezeCenter to function.
You will need a C compiler (gcc), make, and perl installed.

You will need development libraries for MySQL. eg: libmysqlclient

You will need development libraries for expat. eg: libexpat1-dev

*** Ignore any warnings about AppConfig. ***

Please enter a perl binary to use (defaults to /usr/bin/perl)
This must be the same perl binary that you ran this program with –>
Please enter a directory to download files to –>
Downloads will use lwp to fetch tarballs.

Downloading YAML-Syck-0.64.tar.gz to: /usr/local/SqueezeCenter-7.3-22975
Something looks wrong – I couldn’t read /usr/local/SqueezeCenter-7.3-22975/YAML-Syck-0.64.tar.gz, which I just downloaded.
Uncompressing..
sh: YAML-Syck-0.64.tar.gz: cannot open
tar: blocksize = 0
Couldn’t change to YAML-Syck-0.64 : No such file or directory at /usr/local/SqueezeCenter-7.3-22975/Bin/build-perl-modules.pl line 226, line 2.

So, I decided to go the old way and get rid of the supplied with SqueezeCenter CPAN directory.

# mv CPAN CPAN-orig

… update YAML::Syck just in case…

# perl -MCPAN -e shell
. . .
cpan[1]> install YAML::Syck
YAML::Syck is up to date (1.05).
#

… and start the server again …

# ./slimserver.pl
Can’t locate Encode/Detect/Detector.pm in @INC (@INC contains: /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int /opt/csw/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int/auto /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8.4/i86pc-solaris-64int /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8.4/i86pc-solaris-64int/auto /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/5.8/i86pc-solaris-64int/auto /usr/local/SqueezeCenter-7.3-22975/CPAN/arch/i86pc-solaris-64int /usr/local/SqueezeCenter-7.3-22975/lib /usr/local/SqueezeCenter-7.3-22975/CPAN /usr/local/SqueezeCenter-7.3-22975 /usr/local/SqueezeCenter-7.3-22975 /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .) at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Unicode.pm line 40.
BEGIN failed–compilation aborted at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Unicode.pm line 40.
Compilation failed in require at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs/Namespace.pm line 30.
BEGIN failed–compilation aborted at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs/Namespace.pm line 30.
Compilation failed in require at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs.pm line 81.
BEGIN failed–compilation aborted at /usr/local/SqueezeCenter-7.3-22975/Slim/Utils/Prefs.pm line 81.
Compilation failed in require at /usr/local/slimserver/slimserver.pl line 146.
BEGIN failed–compilation aborted at /usr/local/slimserver/slimserver.pl line 146.

This error looks familiar. And after commenting line 40 in SqueezeCenter-7.3-22975/Slim/Utils/Unicode.pm (#use Encode::Detect::Detector; ) the server came alive and immediately updated the firmware of the Transporter to version 62.