DeutschEspañolFrançaisItalianoNederlandsPortuguêsΕλληνικάРусскийالعربية中文(简体)中文(繁體)日本語한국어
 
Donate Bitcoins
Google
 
www smithii.com
 

DSPAM for Cygwin

Here's a patch to compile DSPAM for Windows.

And here's the Makefile dspam.mak to build it.

Backported OpenVPN 1.5.0 to Woody

I backported OpenVPN from Debian Unstable (Sid) to Stable (Woody). Works great.

The file is openvpn_1.5.0-1.woody-1_i386.deb.

Here's a Makefile to build it on Cygwin/*nix.

A simple backup script: bu.cmd

I've tried many of the backup solutions available, both freeware and commercial. None of them worked for me.

I finally decided to write a simple backup script to backup files using RAR and NTBackup.

It's available here.

Instead of trying to explain it, I'll let bu.cmd speak for itself:

C:\>bu
Syntax:

  bu.cmd [options] <sources ...> <destination>

  <sources ...> is one or more filespecs to backup.
  If <sources> is a single letter (c, d, etc.), then assume c:\, d:\, etc.
  NTBackup also accepts 'systemstate'.

  <destination> is the directory to store the backup file to.

  Options:

-t | --type type          Backup type
                            full:        Full backup (default)
                            diff:        Differential backup
                            incr:        Incremental backup
                            copy:        Full copy backup

-f | --filename filename  Use filename.[rar|bkf|zip] as backup file name

-u | --unique             Use unique backup file name (1.rar, 2.rar, etc)

-l | --label "label"      Assign "label" as a comment for this backup
                           (incompatible with --password)

-d | --date               Save backup in a directory named yy-mm-dd

-i | --time               Save backup in a directory name hh_mm_ss

-y | --sysdir             Save backup in a directory of the system's name

-s | --system systemname  Use systemname instead of %COMPUTERNAME%

-b | --method             Set backup method
                             rar:      Use WinRar   (default)
                             ntbackup: Use NTBackup
                             zip:      Use WinZip   (unimplemented)

-c | --compress mode      Compression method (ntbackup method only)
                             rar:  Use WinRar on NTBackup .bkf file

Getjpegs

I used PartitionMagic 8 to resize an NTFS partition, and it hosed tons of photos from our last trip to India. So I hacked together diskid32 and the Small JPEG Decoder Library and created a program to scan my hard disks for the missing JPEG files. It didn't find much more than GetDataBack did, and it was *way* slower. 30+ hours vs. 3 hours. So I shelled out the bucks for both GetDataBack NTFS and GetDataBack FAT. Both excellent programs.

The code can be found here.

Running both a USER and a SYSTEM ssh daemon in Cygwin

After making the following changes to /etc/sshd_config:

RSAAuthentication yes
UsePrivilegeSeparation no

I am able to install and run two sshd daemon's at the same time,
a "SYSTEM" daemon on port 22, and a "USER" daemon on port with the following:

$ sshd_system.sh

$ sshd_user.sh -P 23

Here are the scripts: sshd_system.sh and sshd_user.sh.

Unfortunately, if /etc/sshd_config contains:

UsePrivilegeSeparation yes

it doesn't work. /var/log/sshd_ross.log shows

Bad owner or mode for /var/empty

There are two ways to work around this problem:

1. Use a different sshd_config for the USER daemon:

$ sshd_user.sh -P 23 -f $HOME/.ssh/sshd_config

2. Always start the USER daemon with the following script:

#!/bin/sh
# sshd_user_restart.sh
cygrunsrv --stop sshd_${USER}
chown ${USER}.none /var/empty
cygrunsrv --start sshd_${USER}
chown system.system /var/empty

A zip file contains these scripts and the above readme is available
here.

Automatically build mixmaster 2.9.1 and OpenSSL 0.9.8 with MSVC using Cygwin

To automate the building of mixmaster 2.9.1 and OpenSSL 0.9.8d with MSVC using Cygwin, I created the Makefiles mixmaster.mak and openssl.mak and the patch file mix.mak.patch to fix a glitch in Win/mix.mak.

To build OpenSSL, type:

$ make -f openssl.mak

To build maxmaster, type:

$ make -f mixmaster.mak

Of course, to run make, you will need to install Cygwin and select the make and wget packages. Alternatively, you could unzip cygwin-1.5.23.zip, which contains only the executables needed to run make.

The resulting binaries are openssl-0.9.8d.zip and mixmaster-2.9.1.rar.

NTFS isn't what it's cracked up to be

After running ROBOCOPY, Windows XP SP1 decided the disk I was copying *from*, was whacked. Suddenly XP can't see the drive is formatted. A reboot solves nothing. It contained the only copy of all our pictures from our last India trip. And I was just about to burn them all to DVD.

So I bought GetDataBack for $119. It tries, but fails, to get much off the disk.

So now I'm left with writing my own program in C++ to read the raw disk data to see if I can extract the images. I know the data is there.

I'll post the program,

ADOdb 4.05 Released with my new session handling code

ADOdb version 4.05 has been released with my new session handling code. The session code has been rewritten to be more object oriented (OO). While at the same time, being backwards compatible.

You can review the file here.

Upgrading third party code in CVS

Let's say we want to import the excellent database abstraction layer ADOdb version 3.60 into our CVS repository:

Putting /etc in CVS

Here's how I put my /etc directory under CVS:

Including third party code in CVS

Let's say we want to start a project, and include the excellent database abstraction layer ADOdb into our CVS repository.

Branching and Merging in CVS

Let's say we want to import the excellent database abstraction layer ADOdb version 3.60 into our CVS repository:

CVS FAQ

Here are a few things I've learned working with CVS that I haven't found documented anywhere on the net.

These FAQs assume you have a working understanding of CVS. If you do not, you may refer to Open Source Development With CVS or CVS--Concurrent Versions System v1.11.6 to familiarize yourself first.

Syndicate content
DeutschEspañolFrançaisItalianoNederlandsPortuguêsΕλληνικάРусскийالعربية中文(简体)中文(繁體)日本語한국어
 
Donate Bitcoins
Google
 
www smithii.com
 
Special thanks to Riester Rente Online for a generous donation!