←April→
Sun |
Mon |
Tue |
Wed |
Thu |
Fri |
Sat |
|
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
|
|
|
|
|
|
|
Sat, Apr 29, 2006 1:24 pm
PHP - Exec
The PHP
exec
function can be used to call external programs.
For instance, if I wish to create a webpage that displays the
MD5 checksum for a file, I can call the md5sum program that is present
on Unix and Linux systems. If I called the program from a shell prompt on the
system, I would see something like the following:
# md5sum file.txt
529dc67dde9486a1af8353915ab94870 file.txt
Using PHP, I can get the MD5 checksum with the following code:
<?php
$filename="mboxgrep-0.7.9-1.i386.rpm";
$md5sum = exec('md5sum '.$filename);
$md5sum = substr($md5sum,0,strpos($md5sum,' '));
?>
The results of the call to the external md5sum
program are
stored in a variable named md5sum
. The md5sum
program returns the MD5 checksum followed by a space and then the filename.
The filename can be stripped away by using strpos
to determine
the position of the space in the string and then substr
can
be used to remove all of the charcters from the string starting with the
space to the end of the string.
Since I need to calculate the MD5 checksum, aka hash, regularly, I can
create a function that calls the external md5sum program to do so.
function md5sum($filename) {
$hash = exec('md5sum '.$filename);
// The md5sum command returns the MD5 hash followed by a space and the
// filename. Remove the space and filename.
$hash = substr($hash,0,strpos($hash,' '));
return($hash);
}
But what if you call an external program that returns multi-line output.
If you just store the results obtained by using exec
to call
the program, you will get only the last line of output for the program.
For instance, I can use the command rpm -qp --requires file.rpm
to determine what other software is required by a
RPM file. If I call that
program with PHP's exec
function and assign the results to a
variable, requires
, however, I get just the last line of the
results of calling rpm -qp --requires
, which produces multiline
output.
<?php
$filename="mboxgrep-0.7.9-1.i386.rpm";
$requires = exec('rpm -qp --requires '.$filename);
?>
What I need to do instead, is put the output of the external command
into an array. When using the exec
function, I can
specify an array to be used to hold the output, by putting a comma
after the command to be called and then specifying an array to hold
the output of the command.
<?php exec(external_command, $output_array); ?>
For instance, to obtain the output from the rpm command above, I could
use the following code:
<?php
$filename="mboxgrep-0.7.9-1.i386.rpm";
exec('rpm -qp --requires '.$filename, $requires);
for ($i = 0; $i < count($requires); $i++) {
print "$requires[$i]<br>\n";
}
?>
The
exec
function is used to call the program, storing
the output from the
rpm
command in the array
$requires
. I can then use a
for
loop to
print each of the lines in the array, putting a
<br>
tag at the end of each line, so that the HTML output is more readable
and matches that of the program. I also use
/n
to create
a new line at the end of each line of output so the source HTML code is
more readable, also.
References:
-
PHP: exec - Manual
-
MD5
-
Programming PHP: Chapter 5: Arrays
[/languages/php]
permanent link
Sun, Apr 23, 2006 8:40 pm
Report of SORBS listing to EarthLink
I filed a trouble report with
EarthLink
regarding email from an EarthLink email server being rejected, because the
EarthLink server, pop-gadwall.atl.sa.earthlink.net [207.69.195.61], is on
the
Spam and Open Relay Blocking System
(SORBS) spam blacklist. Within minutes I received a response. However, just
like the
response I received from AOL regarding a similar problem report regarding
two AOL email servers on the SORBS blacklist, the response was totally
irrelevant to the actual problem. Instead it was a bolierplate reponse on how
one can deal with a situation where EarthLink filters are blocking email
from another server.
The SORBS entry for the EarthLink server is shown below:
Address: 207.69.195.61
Record Created: Fri Mar 10 09:30:02 2006 GMT
Record Updated: Fri Mar 10 09:30:02 2006 GMT
Additional Information: Received: from pop-gadwall.atl.sa.earthlink.net
(pop-gadwall.atl.sa.earthlink.net [207.69.195.61]) by desperado.sorbs.net
(Postfix) with ESMTP id 52E7111471 for <[email]>; Fri, 10 Mar 2006 19:06:10
+1000 (EST)
My Problem Report
I provide PC and network support to small businesses in my area and am trying
to resolve an email problem for a client who has not been able to receive email
from his daughter, who uses EarthLink as her ISP. Her email is being
blocked on the server handling his incoming email because it is coming through
an EarthLink email server with the IP address 207.69.195.61
(pop-gadwall.atl.sa.earthlink.net), which is on the Spam and Open Relay
Blocking System (SORBS) blocklist (see
http://www.dnsbl.us.sorbs.net). Will EarthLink contact SORBS about removing
the address from the SORBS list?
EarthLink's Response
Thank you for contacting us.
We understand that one of the EarthLink client in your area is unable to
receive email from his daughter who uses EarthLink as his ISP.
In addressing the issue we would like to inform you that the issues you're
having will require active troubleshooting that can only be accomplished by
working with someone in real time. In order to help you efficiently as
possible, we recommend that you contact Open Relay department at:
"openrelay @ earthlink.net"
Open relay is a term used to describe an email server that is not secured
against unauthorized access in order to send email. Spam is often generated
from such servers, either knowingly or unknowingly.
EarthLink blocks open relay servers from delivering mail to EarthLink. This
prevents a great deal of spam from arriving in our customer's email boxes. If
someone is trying to send you email, and are being denied for this reason, they
will have to speak to the administrator of their email server.
The administrator can choose to secure the server, or contact our Abuse
department and prove that their server is in fact secured. If the administrator
has secured the server, they need to email openrelay@abuse.earthlink.net and
provide the server's IP address or name. Once verified that the relay is
closed, the server will be removed from the block list, and EarthLink will
begin to accept mail from them.
Please be advised that not all matters may be resolved via email for security
reasons or due to the complexity of the issue.
We appreciate your understanding in this regard.
I sent a reply to that message. I'm curious as to whether I can get a relevant
response from either ISP
within two messages or even at all. I also wonder how many others may have
reported the same issues to AOL and EarthLink and gotten the same canned
non-germane responses. It is no wonder why an email server may stay on a
blocklist for a long time, if one has to get someone at the ISP of the
offending server to request a delisting.
[/network/email/spam]
permanent link
Sun, Apr 23, 2006 7:37 pm
SORBS Blocking AOL and EarthLink Servers
A user reported today that his daughter had sent email to him today which had
been rejected. I obtained her email address from him and then searced the
maillog file for that address. I found that her email was rejected because
it was coming from an EarthLink email server, pop-gadwall.atl.sa.earthlink.net
[207.69.195.61] whose IP address, 207.69.195.61, is on the
Spam and Open Relay Blocking System (SORBS)
spam blacklist. I submitted a report of the problem to EarthLink's
technical support group. Hopefully, the response I get will be better than
the response I got from AOL when I reported the presence of two of their
servers on the SORBS list recently.
A few weeks ago I found that email from AOL users was being blocked by the
SORBS list, because two AOL servers were on the list. Those AOL servers
are listed below:
Name: imo-d05.mx.aol.com
Address: 205.188.157.37
Name: imo-m25.mx.aol.com
Address: 64.12.137.6
I reported the problem to AOL then, using an AOL account I keep just for
assisting AOL users, and received a response on April 3. However,
the response was irrelevant to the problem I reported. I've included my
message and AOL's response below:
My Problem Report
User comments = Two AOL email servers are in the Spam and Open Relay
Blocking System (SORBS) blocklist (see www.http://www.dnsbl.us.sorbs.net).
Their IP addresses are 64.12.137.6 and 205.188.157.37.
Because those IP addresses are in the SORBS blocklist, whenever email is
sent through those AOL servers, it is rejected by other email servers which
use the SORBS blocklist.
I am hoping AOL will address the issue with SORBS.
AOL's Response
From: SPIncomingMail
To: <snipped>
Sent: Mon, 3 Apr 2006 11:24:32 PM Eastern Daylight Time
Subject: Re: I have a problem sending or receiving email in AOL
Dear Jim,
Hi! My name isácille from America Online. I would like to thank you for
writing and making us aware of your concern.
I understand that you have questions with AOL blocking e-mail coming from Sorbs
domain.
I apologize for the inconvenience this has caused you, Jim.
AOL has developed Solicited Bulk Mailing Guidelines to both aid 'netizens' with
their online marketing campaigns and to protect our member base from e-mail
abuse.
To learn about AOL's Unsolicited Bulk Mail Policy, please visit
http://postmaster.info.aol.com/guidelines/bulk_email.html.
If you believe that Sorbs organization's e-mail provider can adhere to AOL
guidelines provided at
http://postmaster.info.aol.com/guidelines/index.html,
please ask their e-mail provider to call our Postmaster Hotline at 703-265-4670
or 1-888-212-5537 and the Postmaster group will evaluate your mailing patterns
and resolve any outstanding issues with their server or domain.
AOL has developed a site for Internet users who are experiencing problems
sending e-mail to AOL or for people who have questions about AOL's e-mail and
junk e-mail policies at
http://postmaster.info.aol.com/index.html.
If they would like to test their e-mail server against our database, enter the
IP address at
http://postmaster.info.aol.com/tools/duls.html.
I hope that I have sufficiently provided you with useful information about your
inquiry.
If you have other concerns or questions regarding AOL, please do not hesitate
to contact us in the future.
You can chat online with a technical support specialist by going to AOL Keyword:
Live Help. My colleagues there are available
24 hours a day to assist you in a secure, one-on-one session.
If you prefer to be assisted via phone, you may call us at our toll-free number:
1-800-827-6364. Calling early in the day usually reduces the waiting time to
speak to a consultant.
We are always ready to answer questions and do whatever we can to make your
online experience even more enjoyable.
Again, thank you for your patience and understanding on this matter.
Cecille
AOL Customer Care Consultant
I replied to the AOL message today, since I found the two AOL servers
are still on the SORBS list, requesting AOL address the issue with
SORBS. The 64.12.137.6 address appears to have been on
the list since December 15, 2005. And for the other address I see the following:
Address: 205.188.157.37
Record Created: Sun Apr 25 22:36:02 2004 GMT
Record Updated: Thu Feb 23 04:29:58 2006 GMT
Additional Information: Received: from imo-d05.mx.aol.com (imo-d05.mx.aol.com [205.188.157.37]) by server (8.10.2/8.10.2) with ESMTP id k1N2Krh14751 for ; Wed, 22 Feb 2006 20:20:53 -0600
I would not be surprised if I get a similar non-germane response again,
though. There was a time when I recommended America Online (AOL) - I
think Ads Online would be a more appropriate name - to novice
computer users, but now I wouldn't recommend it to anyone and reports that
its membership has been significantly declining don't surprise me.
[/network/email/spam]
permanent link
Mon, Apr 17, 2006 8:49 pm
Burst.Com Filed A Patent Infringement Suit Against Apple
Burst.com has filed a patent infringement suit
today against
Apple Computer, claiming that
Apple is infringing on Burst patents for video and audio delivery with
Apple's iPod and iTunes products. Apple filed suit against Burst in
January seeking to have Burst's patents declared invalid.
Burst and Microsoft wrangled over
Burst's patents also. Microsoft eventually capitulated and paid Burst 60
million dollars.
References:
-
Burst.com Files Patent Infringement Suit Against Apple Computer
April 17, 2006
-
Burst vs Apple
January 16, 2006
[/software/patents]
permanent link
Sun, Apr 16, 2006 10:59 pm
iRows and Opera
I've been using
iRows, which is a free
online service for creating and storing spreadsheets, to store some
spreadsheets so that I can access the information from any system with
a web browser. However, I've found that, though the service works fine
with Firefox, it is not usable with Opera 8.54. With Opera 8.54, when you try to
save a spreadsheet, edit tags, etc. windows open behind the spreadsheet
you are working on and it isn't possible to fully access them. I've been
able to drag some of the windows to areas on the screen where I can access
part of them, but I would not consider the service usable with Opera.
When I checked the FAQ
at the iRows website, I found a statement indicating that iRows doesn't
work well with the beta 9 version of Opera either. The FAQ states
"On Opera-9 not all features work well. We are waiting for Opera to fix a few
issues in the beta version."
[/network/web/services]
permanent link
Fri, Apr 14, 2006 5:42 pm
Moving ClientApps Folder
There are a number of steps you can take to free disk space on a Windows
Small Business Server (SBS) 2003 system drive, if you are running low
on disk space. You can remove the uninstall folders for hotfixes, compress
folders, etc. A step that may give you back 750 MB to a GB of space is
to move the ClientApps folder.
[ More Info ]
[/os/windows/server2003]
permanent link
Thu, Apr 13, 2006 4:32 pm
Blosxom Calendar Plugin on a Solaris System Using Apache
I installed the
calendar plugin for the
Blosxom blogging software on a Solaris 10 system. I put the following
line in Blosxom's
head.html
file, so that a calendar with links
to entries made on particular dates would appear at the top of the blog's
webpages:
$calendar::calendar
When I then tried to view the blog, I received the message below:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable
to complete your request.
When I created a state
subdirectory beneath the Blosxom
plugins
directory where I extracted the calendar Perl script
and then changed the owner and group for the calendar file to those under
which the Apache webserver software on the system runs, the problem ended.
By default, on a Solaris 10 system running Apache, Apache runs with a
userid of webservd and a group of webservd, so you can change those values
for the calendar file with the commands below:
chown webservd apache; chgrp webservd apache
[/os/unix/solaris]
permanent link
Mon, Apr 10, 2006 9:46 pm
Tuttle City Manager Threatens CentOS Developer
I came across a reference in an
InfoWorld column by Robert Cringeley,
Okie
calls cops, Dell's Ditty flops, to an amusing exchange between
the city manager for Tuttle, Oklahoma and a CentOS developer, today.
The server on which the Tuttle website resided
crashed. It was rebuilt by the city's hosting provider, but the server was not
configured properly afterwards to display the city's webpage, leading to
a default page being displayed instead of the city's homepage.
The city manager, Jerry Taylor, who claims to have twenty-two years
in computer systems engineering and operations, but appears to know very little
about webservers or operating systems, saw the default Apache
webpage one would see on a webserver running the
CentOS operating system and contacted
a CentOS developer, Johnny Hughes. But, with absolutely no understanding
of what he was seeing, he demanded that the CentOS software be removed from
his website.
In one email message sent to CenOS he railed "Who gave you permission to invade
my website and block me and anyone else from accessing it??? Please remove your
software immediately before I report it to government officials!! I am the City
Manager of Tuttle, Oklahoma." Mr Hughes tried to explain the situation to
him, but Mr. Taylor was apparently incapable of understanding the
explanations and replied by threatening to sic the FBI on CentOS. Mr. Hughes
took the time to research the problem instead of just ignoring the city
manager at that point and did eventually get the city manager to contact
his hosting provider. But even then, the city manager did not seem to
understand, or at least appreciate, that Mr. Hughes had made an
extra effort to solve the city's website problem for the city. Instead he
still stated he did not regret threatening Hughes with FBI action, since
he believes that was what prompted Hughes to start treating him seriously.
The city has a article on the issue at
City manager misunderstanding prompts international response and
even has a link
to the email transcript of the exchange, which Mr. Hughes posted
after getting exasperated with the city manager's behavior and threats.
Comments on the article in the city's paper are available in a
forum for the paper.
References:
-
Okie calls cops, Dell's Ditty flops
-
City manager misunderstanding prompts international response
-
OR ... why every city council needs at least one geek
Transcript of the email exchange
[/os/unix/linux/centos]
permanent link
Tue, Apr 04, 2006 10:07 pm
Installing Opera 9.0 on Solaris 10
A preview version of the
Opera
web browser is available for Solaris on x86, i.e. Intel or AMD based
PCs. The preview can be downloaded from
http://snapshot.opera.com/unix/. There
are several files available for download for Solaris on Intel systems. I prefer
to use a pkg file, so that I can install the software with a
pkgadd -d
command.
If you download the pkg.gz version, you can install it with the following
steps.
-
Uncompress the .gz file you downloaded.
# gunzip opera-9.0-20060206.1-static-qt-sol10-intel-local-en.pkg.gz
-
Use the pkgadd command to install the package on your system. The
following command assumes that your current directory is the
directory into which you downloaded the package.
# pkgadd -d ./opera-9.0-20060206.1-static-qt-sol10-intel-local-en.pkg
The following packages are available:
1 SCopera opera
(i386) 9.0
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1
Processing package instance <SCopera> from </home/sysadmin/opera-9.0-20060206.1-static-qt-sol10-intel-local-en.pkg>
opera(i386) 9.0
Opera Software ASA
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
The following files are already installed on the system and are being
used by another package:
/usr/local/bin <attribute change only>
Do you want to install these conflicting files [y,n,?,q] y
## Checking for setuid/setgid programs.
Installing opera as <SCopera>
Installing part 1 of 1.
/usr/local/bin/opera
/usr/local/etc/opera6rc
/usr/local/etc/opera6rc.fixed
/usr/local/lib/opera/9.0-20060206.1/missingsyms.so
/usr/local/lib/opera/9.0-20060206.1/opera
/usr/local/lib/opera/9.0-20060206.1/spellcheck.so
/usr/local/lib/opera/9.0-20060206.1/works
/usr/local/lib/opera/plugins/libnpp.so
/usr/local/lib/opera/plugins/operaplugincleaner
/usr/local/lib/opera/plugins/operapluginwrapper
/usr/local/share/bug/opera/bugreport
/usr/local/share/doc/opera/LICENSE
/usr/local/share/man/man1/opera.1
/usr/local/share/opera/chartables.bin
/usr/local/share/opera/html40_entities.dtd
/usr/local/share/opera/images/blank.gif
/usr/local/share/opera/images/drive.gif
/usr/local/share/opera/images/file.gif
/usr/local/share/opera/images/folder.gif
/usr/local/share/opera/images/link.gif
/usr/local/share/opera/images/opera.xpm
/usr/local/share/opera/images/opera_16x16.png
/usr/local/share/opera/images/opera_22x22.png
/usr/local/share/opera/images/opera_32x32.png
/usr/local/share/opera/images/opera_48x48.png
/usr/local/share/opera/images/operabanner.png
/usr/local/share/opera/ini/dialog.ini
/usr/local/share/opera/ini/fastforward.ini
/usr/local/share/opera/ini/filehandler.ini
/usr/local/share/opera/ini/pluginpath.ini
/usr/local/share/opera/ini/spellcheck.ini
/usr/local/share/opera/ini/standard_keyboard.ini
/usr/local/share/opera/ini/standard_menu.ini
/usr/local/share/opera/ini/standard_mouse.ini
/usr/local/share/opera/ini/standard_toolbar.ini
/usr/local/share/opera/ini/unix_keyboard.ini
/usr/local/share/opera/ini/xmlentities.ini
/usr/local/share/opera/java/opera.jar
/usr/local/share/opera/java/opera.policy
/usr/local/share/opera/jsconsole.html
/usr/local/share/opera/lngcode.txt
/usr/local/share/opera/locale/en/default.adr
/usr/local/share/opera/locale/en/license.txt
/usr/local/share/opera/locale/en/lngcode.txt
/usr/local/share/opera/locale/en/search.ini
/usr/local/share/opera/locale/english.lng
/usr/local/share/opera/opera6.adr
/usr/local/share/opera/search.ini
/usr/local/share/opera/skin/standard_skin.zip
/usr/local/share/opera/skin/windows_skin.zip
/usr/local/share/opera/styles/about.css
/usr/local/share/opera/styles/cache.css
/usr/local/share/opera/styles/certinfo.css
/usr/local/share/opera/styles/config.css
/usr/local/share/opera/styles/contentblock.css
/usr/local/share/opera/styles/dir.css
/usr/local/share/opera/styles/drives.css
/usr/local/share/opera/styles/email.css
/usr/local/share/opera/styles/error.css
/usr/local/share/opera/styles/history.css
/usr/local/share/opera/styles/im.css
/usr/local/share/opera/styles/image.css
/usr/local/share/opera/styles/images/bar.png
/usr/local/share/opera/styles/images/center.png
/usr/local/share/opera/styles/images/opera.png
/usr/local/share/opera/styles/images/root.png
/usr/local/share/opera/styles/images/top.png
/usr/local/share/opera/styles/info.css
/usr/local/share/opera/styles/mime.css
/usr/local/share/opera/styles/mimehead.css
/usr/local/share/opera/styles/plugins.css
/usr/local/share/opera/styles/user/accessibility.css
/usr/local/share/opera/styles/user/contrastbw.css
/usr/local/share/opera/styles/user/contrastwb.css
/usr/local/share/opera/styles/user/debugwithoutline.css
/usr/local/share/opera/styles/user/disabletables.css
/usr/local/share/opera/styles/user/hidecertainsizes.css
/usr/local/share/opera/styles/user/hidenonlinkimages.css
/usr/local/share/opera/styles/user/imageandlinkonly.css
/usr/local/share/opera/styles/user/nostalgia.css
/usr/local/share/opera/styles/user/showstructure.css
/usr/local/share/opera/styles/user/textonly.css
/usr/local/share/opera/styles/user/userstyle.ini
/usr/local/share/opera/styles/wml.css
/usr/local/share/opera/svg-mo.dat
/usr/local/share/opera/svg-mobd.dat
/usr/local/share/opera/svg-sa.dat
/usr/local/share/opera/svg-sabd.dat
/usr/local/share/opera/svg-se.dat
/usr/local/share/opera/svg-sebd.dat
[ verifying class <none> ]
Installation of <SCopera> was successful.
You should then be able to run Opera with /usr/local/bin/opera &
or just opera &
, if /usr/local/bin is in your path.
But when I logged off as root and tried to run Opera from my
nonprivileged user account, I received an error message.
# exit
bash-3.00$ /usr/local/bin/opera
ld.so.1: /usr/local/lib/opera/9.0-20060206.1/opera: fatal: libstdc++.so.6: open failed: No such file or directory
Killed
Since I encountered an error message indicating that libstdc++.so.6 could
not be found I su'ed to the root account again and looked for the file.
bash-3.00$ su - root
Password:
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
# find / -name libstdc++.so.6 -print
/usr/sfw/lib/amd64/libstdc++.so.6
/usr/sfw/lib/libstdc++.so.6
/opt/sfw/lib/libstdc++.so.6
So the file existed on the system in several places, but Opera was not
finding it. From my regular user account, I tried specifying the library
search path by setting
LD_LIBRARY_PATH
to first
/usr/sfw/lib
and then /opt/sfw/lib
, but I
still got the same results when I tried to run Opera.
bash-3.00$ LD_LIBRARY_PATH=/opt/sfw/lib
bash-3.00$ echo $LD_LIBRARY_PATH
/opt/sfw/lib
bash-3.00$ /usr/local/bin/opera
ld.so.1: /usr/local/lib/opera/9.0-20060206.1/opera: fatal: libstdc++.so.6: open failed: No such file or directory
Killed
When I tried to list all of the libraries Opera might use with the
ldd
command, it did not work for the Opera binary.
bash-3.00$ ldd /usr/local/bin/opera
ldd: /usr/local/bin/opera: unsupported or unknown file type
But I then realized I had failed to export LD_LIBRARY_PATH
When I took that step, I was then able to run Opera successfully.
bash-3.00$ export LD_LIBRARY_PATH
Using the above method would require that you reissue the commands to
set the library path and then export it the next time you logged into
the system again. And, if different programs require different library
paths, you might have to reset LD_LIBRARY_PATH for particular programs.
Alternatively, you can add the applicable library path to your system
default search paths with the crle
command on a Solaris
system. On a Linux system, you would edit /etc/ld.so.conf
and run
ldconfig
.
I prefer Opera over FireFox, since, if the system crashes or I have
to restart the browser for any reason, I can return to the state I was
in previously within the browser. I understand that a FireFox extension
can be installed to provide that capability on FireFox, but that
session restoral capability is built into Opera. And Ive never seen
Opera wildly consume resources as FireFox seems prone to do on Windows
systems where it often gobbles up huge amounts of memory or shoots CPU
utilization close to 100%. But when I finally got Opera 9.00 Preview 2
working on my x86-based Solaris 10 system, I was disappointed to
discover it doesn't support the SOCKS protocol. I access
the Web from that system through a SOCKS proxy server.
References:
-
Share Library Search
Paths
[/os/unix/solaris]
permanent link
Tue, Apr 04, 2006 6:12 pm
Obtaining a List of the Libraries Required by a Program
You can use the
ldd
command on a Unix or Linux system
to determine what libraries a program requires. E.g. checking
the libraries required by the
mboxgrep binary yields
the following information:
# ldd /usr/local/bin/mboxgrep
libbz2.so.1 => /usr/lib/libbz2.so.1
libz.so.1 => /usr/lib/libz.so.1
libpcre.so.0 => (file not found)
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
On Solaris systems, you can use the -s
option to show the
full library search path.
# ldd -s /usr/local/bin/mboxgrep
find object=libbz2.so.1; required by /usr/local/bin/mboxgrep
search path=/lib:/usr/lib (default)
trying path=/lib/libbz2.so.1
trying path=/usr/lib/libbz2.so.1
libbz2.so.1 => /usr/lib/libbz2.so.1
find object=libz.so.1; required by /usr/local/bin/mboxgrep
search path=/lib:/usr/lib (default)
trying path=/lib/libz.so.1
trying path=/usr/lib/libz.so.1
libz.so.1 => /usr/lib/libz.so.1
find object=libpcre.so.0; required by /usr/local/bin/mboxgrep
search path=/lib:/usr/lib (default)
trying path=/lib/libpcre.so.0
trying path=/usr/lib/libpcre.so.0
libpcre.so.0 => (file not found)
find object=libc.so.1; required by /usr/local/bin/mboxgrep
search path=/lib:/usr/lib (default)
trying path=/lib/libc.so.1
libc.so.1 => /lib/libc.so.1
find object=libc.so.1; required by /usr/lib/libbz2.so.1
search path=/lib:/usr/lib (default)
trying path=/lib/libc.so.1
find object=libc.so.1; required by /usr/lib/libz.so.1
search path=/lib:/usr/lib (default)
trying path=/lib/libc.so.1
object=/lib/libc.so.1; filter for /usr/lib/ld.so.1
object=/lib/libc.so.1; filter for libm.so.2
find object=libm.so.2; required by /lib/libc.so.1
search path=/lib:/usr/lib (default)
trying path=/lib/libm.so.2
libm.so.2 => /lib/libm.so.2
find object=libc.so.1; required by /lib/libm.so.2
search path=/lib:/usr/lib (default)
trying path=/lib/libc.so.1
References:
-
Share Library Search
Paths
[/os/unix/commands]
permanent link
Sun, Apr 02, 2006 11:25 pm
Furl Meta Tags
Furl allows you to archive webpages
you visit. With Furl you can have all of your bookmarks online and
available from whatever system you happen to be using at the moment
wherever you may be as long as you can access the Internet from that
system. When you bookmark webpages with Furl, Furl archives a copy
of the webpage for you. Unless you mark bookmarks as private, you
can share bookmarks with others, but only you can access the copy
of a webpage that has been archived for you when you bookmarked the
webpage.
When Furl bookmarks a page for you, you can have an area you have
highlighted on the webpage added to a "clipping" field. You can add
your own comments on the webpage to a "comment" field. You can pick
a category or multiple categories for the webpage. You can create
whatever categories you choose. The title for the webpage will also
be stored with the bookmark for the page.
Furl will also look for "author" and "date"
meta tags on the webpage.
If you are creating webpages that others may Furl, you can have Furl
automatically fill its "Author" and "Publication Date" fields by adding
meta tags like the following to your webpages. The date should be in the
form YYYY-MM-DD, i.e. year, month, day form with a leading zero added to
one-digit months or days.
<META NAME="author" content="Jane Doe">
<META NAME="date" content="2006-04-02">
[/network/web/archiving/furl]
permanent link
Sun, Apr 02, 2006 11:07 pm
Why Was My Email Blocked
I use the following blocklists on my email server:
Blitzed Open Proxy Monitor List
Open Relay Database
Composite Blocking List
McFadden Associates E-Mail Blacklist
SORBS
Passive Spam Block List
I also download the jwSpamSpy
Spam domain blacklist, which is available from
http://www.joewein.de/sw/blacklist.htm once a week and update sendmail's
/etc/mail/access file with it to block email from domains on that list.
Recently, I was notified by a couple of users that some of their email
correspondents are reporting that email to the users is being rejected.
I created a Perl script,
find-recipients, to check sendmail maillog files
for a specified sender's email address to determine if email from that
sender was successfully delivered or rejected.
I found one BellSouth sender's email was being rejected because the
IP address of a
server handling his outgoing email, 205.152.59.72 [imf24aec.mail.bellsouth.net]
is on the SORBS blocklist.
I submitted a report on the matter to BellSouth by completing their
support request form at
http://services.bellsouth.net/footer/feedback.html, but I am not a
BellSouth customer, so don't know whether my report will prompt them to
address the matter. I also notified the sender of why the message was
rejected and provided the URL for the support request form to him, but
I would be surprised if the sender reported the problem to
BellSouth, his
email server provider.
I'm afraid most senders will conclude, if they
can send email to most of their correspondents that the problem is not on
their end, no matter what explanation I might provide about spam blocklists
and why their email was rejected. It is difficult just to get a sender to
provide the exact rejection message they get when their email is bounced.
Most feel they only need say that email they have sent has bounced, ignoring
the cause listed in the bounced messages they receive. And when users on
my system pass on reports of email to them not getting through, they often
don't even provide me with the email address of the sender or a
date when the problem occurred making it virutally
impossible to immediately isolate the cause of a particular message being
bounced.
I found that email from another sender, whose email was coming from
Network Solutions' email servers, was rejected four times on March 8, 2006
and once on March 17, because three Network Solutions email servers
were on the SORBS blocklist
and one server was on the Passive Spam Block
List. Two email messages from him were accepted on March 8 and one on
March 29, however.
March 8, 2006 Rejections
SORBS: 205.178.146.53 [omr3.networksolutionsemail.com]
PSBL: 205.178.146.50 [mail.networksolutionsemail.com]
SORBS: 205.178.146.55 [omr5.networksolutionsemail.com]
SORBS: 205.178.146.55 [omr5.networksolutionsemail.com]
SORBS: 205.178.146.55 [omr5.networksolutionsemail.com]
March 17, 2006 Rejections
SORBS: 205.178.146.52 [omr2.networksolutionsemail.com]
When I checked the PSBL list, I found the Network Solutions server had
been detected as sending spam on March 6, but had been removed from that list
on March 8, but apparently after the sender had sent his email on that date
when one of his messages was rejected, because of the presence of the
server's address on that list.
When I checked the SORBS blocklist, I found that all of the Network
Solutions server addresses had been removed from that list also, so it
appears his email service provider, Network Solutions, has already
addressed the problem.
I added both senders to the list of those for whom no blocklist checks should
be made by adding their email addresses to /etc/mail/access with lines
like the following:
someone123a@bellsouth.net OK
someone456b@example2.com OK
I then rebuilt the access database with the command
makemap hash /etc/mail/access </etc/mail/access
Note: In order to bypass blocklist checks for a sender by adding the
sender's email address to /etc/mail/access, delay_checks
has to have been specified in the sendmail configuration file, e.g.
/etc/mail/sendmail.mc. This can be done by adding the line below to
sendmail.mc and then rebuilding sendmail.cf from sendmail.mc.
FEATURE(delay_checks)dnl
You can regenerate the sendmail.cf file with the m4
command. You
need to restart sendmail afterwards for the change to take effect.
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
/etc/init.d/sendmail restart
[/network/email/spam]
permanent link
Privacy Policy
Contact