Archive for the ‘Tips and tricks’ Category

Windows snipping tool but for XP

Thursday, April 30th, 2009

While testing Windows Vista long time ago I have noticed new program called Snipping tool that could take screen shots from whole screen or part of the screen.

I have searched a bit to find if it is possible to have it on XP because Vista sucks :-) but is’t only available for Tablet PCs.

Luckily there are free solutions and replacements on the Internet.

Program is called Gadwin PrintScreen and it’s freeware.

When you install it you get a small tray icon and it’s automatically activated with Print Screen key.

In program options you can configure where to save output files, what type of picture they are going to be, resizing options and so on.

You can download program on this link.

How to jailbreak Iphone 2G (untethered solution)

Thursday, March 12th, 2009

Yesterday I have found on iPod Touch Fans forums instructions how to jailbreak iPod touch 2G. Instructions are on link here tnx to shortperson1026 who created this tutorial.

BEFORE you begin, restore your iPod Touch clean to it’s factory state.
As with every other tutorial you need the C++ redistributable and LIBusb.

1. Download unofficialsn0w 2.0 for Windows from here Download

2. Get the 2.2.1 iPod Touch Firmware HERE

3. Rename the 2.2.1 ipsw to OriginalFW, or OriginalFW.ipsw IF you have file extensions visible, and place it in /IPSW

4. Run IPSW.bat (It will take a while)

5.
a.Right click on the jb.ispw and either open with Winrar or 7.zip

b.Go into Firmware\all_flash\all_flash.n72ap.production\

c. Delete the LLB file.(optional since it will be replaced by the new one)

d. Replace (by dragging) with the LLB file that’s in the same folder as the jb.ipsw.

e. Exit, continue to step 6

6. Place your iPod Touch 2G into DFU mode, plug it in and run RUNME.exe

7. Shift + Restore to JB.ipsw in iTunes and your done!!!

Although I have done all that is written there, during flashing I would receive error and iPod would stay in recovery mode.

Then I have found one small program – QuickFreedom – Untethered GUI that has created firmware for me that I could flash latter with iTunes and jailbreak my iPod. So if you have problems with first solution try the program and also if you want to change boot logos you can do it with this program. For original firmware you can use one that you have downloaded from link above.

Some notes.

Note 1.

You will need libusb for first solution (and I think for second one as well) and you can download it here.

Note 2.

Entering DFU mode is not that simple as someone would say it is. Here are steps to enter it:

  • Power off iPod.
  • Press and hold power and home buttons.
  • Ipod will start and then it will shut down again. When this happens release power button and hold home button for 15-20 seconds.
  • You will have blank black screen and it means that you have entered in DFU mode.

Mass updating SaveAs field in outlook contacts

Tuesday, January 13th, 2009

If you ever had a problem that you needed to change SaveAs field in contacts in Microsoft Outlook on all contacts here is one small VB script that parse everything for you.

The only thing that you need to do is uncomment proper part of the code which is strFileAs.

In my case I wanted to everything be formated as Firstname Lastname instead of reverse way that is default in outlook.

Press alt+f11 to open vb editor, paste the code, edit strFileAs and press F5 to run it. When it’s done you will have your contacs sorted and changed in your way.

P.S. removing comment in vb means removing sign ‘ in front of the line or text, so if you want to comment something write ‘ in front of the line. In this case you will comment out strFileAs = .FullName part if you don’t want to be Firstname Lastname format and uncomment some other strFileAs line that fits your needs.

Public Sub ChangeFileAs()
Dim objOL As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objContact As Outlook.ContactItem
Dim objItems As Outlook.Items
Dim objContactsFolder As Outlook.MAPIFolder
Dim obj As Object
Dim strFirstName As String
Dim strLastName As String
Dim strFileAs As String

On Error Resume Next

Set objOL = CreateObject(“Outlook.Application”)
Set objNS = objOL.GetNamespace(“MAPI”)
Set objContactsFolder = objNS.GetDefaultFolder(olFolderContacts)
Set objItems = objContactsFolder.Items

For Each obj In objItems
‘Test for contact and not distribution list
If obj.Class = olContact Then
Set objContact = obj

With objContact
‘ Uncomment the  strFileAs line for the desired format

‘Lastname, Firstname (Company) format
‘ strFileAs = .FullNameAndCompany

‘Firstname Lastname format
strFileAs = .FullName

‘Lastname, Firstname format
‘ strFileAs = .LastNameAndFirstName

‘Company name only
‘ strFileAs = .CompanyName

‘Companyname (Lastname, Firstname)
‘ strFileAs = .CompanyAndFullName

.FileAs = strFileAs

.Save
End With
End If

Err.Clear
Next

Set objOL = Nothing
Set objNS = Nothing
Set obj = Nothing
Set objContact = Nothing
Set objItems = Nothing
Set objContactsFolder = Nothing
End Sub

Lenovo/IBM Cisco VPN problem

Wednesday, November 26th, 2008

Yesterday I tried to connect to my work network with Cisco VPN client after recent reinstallation of my laptop but without success.

Error that I was getting was PEER_DELETE-IKE_DELETE_UNSPECIFIED. I tried to find some with similar problem on Google but that wasn’t successful either.

So the only thing to do was to install Windows from scratch and begin from start again with elimination of software.

After a while I have found that new version of Thinkpad Fingerprint Software 5.8 was cause of my agony. It took me almost 2 days to find this error but reverting on older version 5.6 solved the problem.

I hope that this will help someone with similar problem like I had.

How to mount web folder (webdav) under Linux?

Sunday, November 23rd, 2008

I have recently received 10GB of disk space from my ISP for free so I thought that I could store backup of my local server there.

For making my Ubuntu server to recognise webdav as a file system I needed to install package davfs2.

After installation all I needed to do was to create one new directory on / and execute following command:

mount -t davfs http://your.server/your_username /mount_point

After that you will get prompt to enter username and password.

That’s it, now you have your webdav folder mounted.

Creating simple cleanup scripts on Windows 2003

Monday, November 10th, 2008

Here is one short tip. If you had problem with old log files that are being held on system after too much time and wanted to delete all of them automatically here is explanation how to do it.

  1. open notepad
  2. write this line in it Forfiles -p “c:\temp” -s -m *.log -d -14 -c “Cmd /C del @FILE”
  3. save file and then change it extension from .txt to .bat

So here we have batch file created that will do following:

  • find all .log files in c:\temp path
  • older than 14 days
  • and delete them

Here is small explanation of the command line:

  • -p “full path” is used to specify exact path to the destination dir, it can be c:\ or c:\temp
  • -s says to forfiles that it will go recursive into subdirs
  • -m *.ext creates filter for files of the .ext extension, it can be *.* as well
  • -d 7 says to forfiles to filter files from output above to match current date minus number of days
  • -c “command” executes command on files that are returned from output of forfiles command
  • cmd /c command is saying to cmd that is command prompt to execute command and terminate itself

Now to test this batch file you can delete or comment out command part so you will get output from forfiles only without deleting of the files. Also you can use move command instead of del to move logfiles to another location.

If everything works like it should open Start->Control panel->Scheduled tasks and create new task to executes every day or in any time frame that you want.

“‘Agent XPs’ component is turned off as part of the security configuration for this server.” error while creating maintenance plans on MsSQL server 2005

Monday, October 13th, 2008

While trying to create some maintenance plans on MsSql server 2005 (default installation) with SP2 installed I have received this error message:

'Agent XPs' component is turned off as part of the security configuration for this server.

While trying different solutions from Microsoft, MSDN and different forums I have found one that worked for me. Open new query window, copy code below and hit F5 for executing. After this you can create plans.

sp_configure 'show advanced options', 1;

GO

RECONFIGURE;

GO

sp_configure 'Agent XPs', 1;

GO

RECONFIGURE

GO

“Setup failed to start on the remote machine. Check the Task scheduler event log on the remote machine.” error while installing Microsoft Sql Server 2005 in failover cluster

Friday, September 26th, 2008

Last few days I was installing failover cluster in MsSql 2005 and whille installing it I got this error and installation wouldn’t continue.

In error logs there is message:

Running: ScheduleActionAction at: 7d8/8/19 b:c:2a
Complete: ScheduleActionAction at: 7d8/8/19 b:c:2b, returned true
Skipped: InstallASAction.11
Waiting for actions from remote setup(s)
Breaking wait state and aborting package due to cancel code received: 642
Remote setup(s) are ready
Notify package action is determined: 642
Error Code: 0x800700e9 (233)
Windows Error Text: No process is on the other end of the pipe.

Source File Name: remotemessagelib\overlappedpipelistener.cpp
Compiler Timestamp: Fri Jul 29 01:13:51 2005
Function Name: sqls::OverlappedPipeListener::writePipe
Source Line Number: 294

Fix for this error is simple. Log out any users on another node in cluster and that’s it. So simple.

How to build antispam SMTP gateway for Exchange on Ubuntu 8.04

Saturday, September 13th, 2008

Because previous solution that I have done on Windows didn’t worked in way I wanted, I have decided to make dedicated Linux SMTP filtering gateway.

Note: You can copy/paste all commands written here although they are not inline, they will be when you paste them to shell or file.

For this I needed to have:

  • Fully functional Linux machine ( I had already installed Ubuntu 8.04 server )
  • Postfix – default installation will do
  • Mail Scanner – free package that you can get on MailScanner home page
  • SpamAssassin – free antispam solution
  • Clam AV – free antivirus

Before of installing anything we will fetch the latest list of packages from Ubuntu repositories with command:

aptitude update

Now before installation of a Mail Scanner we need to install some packages with command:

aptitude install libconvert-tnef-perl libdbd-sqlite3-perl libfilesys-df-perl libmailtools-perl libmime-tools-perl libmime-perl libnet-cidr-perl libsys-syslog-perl libio-stringy-perl libfile-temp-perl libole-storage-lite-perl libarchive-zip-perl postfix clamav clamav-daemon libsys-hostname-long-perl libnet-cidr-lite-perl spamassassin

Answer with Y when asked to install dependencies for these packages. During the installation of postfix you will get simple menu in which you need to select Internet site and write your full host name with domain.

Because whole configuration of Postfix is being done via main.cf and master.cf files we need to change some values in them. Open main.cf and add/edit following lines to look like this:

myhostname = ubuntu.sp.local
mydomain = sp.local
myorgin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
mynetwork_style = host
relay_domains = lab.net
transport_maps = hash:/etc/postfix/transport
append_at_myorigin = no
local_recipient_maps =
header_checks = regexp:/etc/postfix/header_checks

Now open /etc/postfix/transport and add your forwarding domains in it. For multiple domains go to new row by same principle.

sp.local smtp:[192.168.1.5]

This ip 192.168.1.5 is IP of my Exchange server, not of my Linux machine and sp.local is the name of my domain, replace IP and domain name with yours. After this editing we need to create hash of the transport file and to restart Postfix.

postmap /etc/postfix/transport
/etc/init.d/postfix restart

Now you can control if Postfix is working like it should and if it transports mail. If everything works stop it so that we can configure other options in it and because it needs to be started after MailScanner.

/etc/init.d/postfix stop

Next step would be to unpack and install the latest version of Mail Scanner because Ubuntu 8.04 still doesn’t have the latest version in the repositories. You can get the latest version of Mail Scanner here. Because we will compile it we need .tar.gz version.

wget http://mailscanner.info/files/4/tar/MailScanner-install-4.71.10-1.tar.gz
tar zxvf MailScanner-install-4.71.10-1.tar.gz
cd MailScanner-install-4.71.10
./install.sh

You will see lot of output when you run ./install.sh because it will check which Perl modules do you have installed and install those that are missing, but as installation says:

Do not worry too much about errors from the next command.
It is quite likely that some of the Perl modules are
already installed on your system.

When install.sh is done you will get message to enter some lines in crontab to automatize jobs. Type crontab -e and enter following lines in crontab (:w to write and exit if you are using Vi editor ctrl+x for Pico).

37 5 * * * /opt/MailScanner/bin/update_phishing_sites
07 * * * * /opt/MailScanner/bin/update_bad_phishing_sites
58 23 * * * /opt/MailScanner/bin/clean.quarantine
42 * * * * /opt/MailScanner/bin/update_virus_scanners
3,23,43 * * * * /opt/MailScanner/bin/check_mailscanner

Now we need to edit /etc/default/spamassassin file and to enable SpamAssassin daemon. Open this file with editor and change these lines:

ENABLED=0 to ENABLED=1
CRON=0 to CRON=1

Now we have enabled SpamAssassin as a daemon and enabled it to update daily via cron. It’s time to start it for the first time.

/etc/init.d/spamassassin start

Next step would be to edit MailScanner.conf. Find following lines and edit them to look like this:

Run As User = postfix
Run As Group = postfix
MTA = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
Virus Scanners = clamav
Spam List = SBL+XBL
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

Now we will run MailScanner with command:

/opt/MailScanner/bin/check_mailscanner

It will automatically go to background. Now we need to tell Postfix to wait with forwarding of mails while they are checked against spam and antivirus definitions. We will need to edit file /etc/postfix/header_checks and to add following line because without it nothing will work.

/^Received:/ HOLD

Now we need to restart Postfix with command:

/etc/init.d/postfix start

I have got interesting output when I once killed MailScanner process that really make me laugh.

11818 ? Ss 0:00 MailScanner: killing children, bwahaha!
11819 ? Z 0:01 [MailScanner] <defunct>
11862 ? Z 0:01 [MailScanner] <defunct>
11905 ? Z 0:01 [MailScanner] <defunct>
11948 ? Z 0:01 [MailScanner] <defunct>
11991 ? Z 0:01 [MailScanner] <defunct>
12038 ? Ss 0:00 MailScanner: killing children, bwahaha!
12039 ? Z 0:01 [MailScanner] <defunct>
12083 ? Z 0:01 [MailScanner] <defunct>
12126 ? Z 0:01 [MailScanner] <defunct>
12169 ? Z 0:01 [MailScanner] <defunct>
12212 ? Z 0:01 [MailScanner] <defunct>

LOL, they have a good sense of humor.

So if everything is working correctly you should receive now mails with small footer text:


This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

You can control message delivery with command:

tail -f /var/log/syslog

There you will see scrolling text like:

Sep 11 10:14:14 ubuntu postfix/smtpd[13220]: connect from web54408.mail.yahoo.com[206.190.49.138]
Sep 11 10:14:14 ubuntu postfix/smtpd[13220]: CE433E643: client=web54408.mail.yahoo.com[206.190.49.138]
Sep 11 10:14:15 ubuntu postfix/cleanup[13222]: CE433E643: hold: header Received: from web54408.mail.yahoo.com (web54408.mail.yahoo.com [206.190.49.138])??by ubuntu.sp.local (Postfix) with SMTP id CE433E643??for <mymail@mydomain>; Thu, 11 Sep 2008 10:14:14 -0400 (EDT) from web54408.mail.yahoo.com[206.190.49.138]; from=<my_yahoo_mail@yahoo.com> to=<mymail@mydomain.com> proto=SMTP helo=<web54408.mail.yahoo.com>
Sep 11 10:14:15 ubuntu postfix/cleanup[13222]: CE433E643: message-id=<225121.37413.qm@web54408.mail.yahoo.com>
Sep 11 10:14:15 ubuntu postfix/smtpd[13220]: disconnect from web54408.mail.yahoo.com[206.190.49.138]
Sep 11 10:14:15 ubuntu MailScanner[13211]: New Batch: Scanning 1 messages, 2392 bytes
Sep 11 10:14:16 ubuntu MailScanner[13211]: Virus and Content Scanning: Starting
Sep 11 10:14:20 ubuntu MailScanner[13211]: Requeue: CE433E643.352A5 to 424A5E650
Sep 11 10:14:20 ubuntu postfix/qmgr[13003]: 424A5E650: from=<my_yahoo_mail@yahoo.com>, size=1712, nrcpt=1 (queue active)
Sep 11 10:14:20 ubuntu postfix/smtp[13245]: 424A5E650: to=<mymail@mydomain.com>, relay=192.168.1.5[192.168.1.5]:25, delay=5.6, delays=5.5/0.01/0/0.15, dsn=2.6.0, status=sent (250 2.6.0 <225121.37413.qm@web54408.mail.yahoo.com> Queued mail for delivery)
Sep 11 10:14:20 ubuntu postfix/qmgr[13003]: 424A5E650: removed
Sep 11 10:14:20 ubuntu MailScanner[13211]: Uninfected: Delivered 1 messages

This means that MailScanner is scanning messages against spam and viruses.

Now the latest step would be to create RC script to start MailScanner on boot and before Postfix. Here you can read/download file mailscanner.txt file which you will use to create new /etc/init.d/mailscanner file.

This script is slightly modified original init script for MailScanner from Ubuntu. Next step would be to change permissions to the file and to create symlinks with commands:

chmod 755 /etc/init.d/mailscanner
cd /etc/rc0.d/
ln -s ../init.d/mailscanner K20mailscanner

cd /etc/rc1.d/
ln -s ../init.d/mailscanner K20mailscanner

cd /etc/rc2.d/
ln -s ../init.d/mailscanner S20mailscanner

cd /etc/rc3.d/
ln -s ../init.d/mailscanner S20mailscanner

cd /etc/rc4.d/
ln -s ../init.d/mailscanner S20mailscanner

cd /etc/rc5.d/
ln -s ../init.d/mailscanner S20mailscanner

cd /etc/rc6.d/
ln -s ../init.d/mailscanner K20mailscanner

So now we need to test everything with commands:

/etc/init.d/postfix stop
/etc/init.d/mailscanner start
/etc/init.d/postfix start

Notes:

If SpamAssassin doesn’t detect some of your messages as spam although they are spam you can easy manually learn it to detect that and other similar messages as spam. Follow next few steps:

  1. Find that message and save it to text file including headers and content
  2. Transfer file to your linux machine
  3. From the directory where you have transfered file run command: spamassassin –spam < your_text_file

Vista/XP virtual desktop manager

Thursday, September 11th, 2008

After intensive testing of Sysinternals Desktops utility I have found new one that is also FREE and that works better than Desktops.

Things that I missed in Desktops were:

  • you couln’t move opened programs between desktops
  • Firefox and Winamp (possible some other programs too) wouldn’t work on other desktop if they are allready opened on one
  • desktop backgrounds would disapeer

New program that I found is called Vista/XP virtual desktop manager. Some of the options that it provide are:

  • Full screen desktop/window manager/preview with full drag and drop managing
  • Desktop switch indicator
  • An infinite number of desktops
  • Watch the windows move in real time as you drag them around in the window manager
  • Multiple monitor support
  • Window menus
  • Tray icons for each desktop
  • Per-desktop backgrounds
  • Configurable colors, fade speeds, hotkeys, etc.
  • Uses Vista’s live thumbnails
  • XP support
  • And much more!

You can find more info about program and download it on this link.

Here are some screenshoots.