Skip to content

Commit

Permalink
import APG v2.1.0 from Wayback Machine
Browse files Browse the repository at this point in the history
  • Loading branch information
jabenninghoff committed Oct 13, 2019
1 parent c0f9807 commit e6c3fd9
Show file tree
Hide file tree
Showing 42 changed files with 3,817 additions and 375 deletions.
70 changes: 69 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,71 @@
apg-2.1.0
Some code cleanup.

apg-2.1.0b1
Option [-E char_string] now works for pronounceable
password generation too (see apg(1), apgd(8)).

apg-2.1.0b0
Added new option [-e char_string] that allow to exclude some
characters from password generation process.
(works only for random password generation yet)

apg-2.1.0a0
Added support for /dev/arandom for OpenBSD

apg-2.1.0a0
Fixed some typing errors in the man pages
System getopt() replaced with own apg_getopt().
All calls of bcopy() and bzero() replaced with memcpy() and memset().
Changed documentation.
PRNG algorithm changed to use PID as an element of initial seed.
Redesigned PHP frontend. Added support for German language.
Implemented password quality ckeck based on filter. Now you can enforce
APG to generate passwords that must contain numbers, special characters etc.
Removed support for old style password generation mode definition.

apg-2.0.0final
Changed PHP frontend to work with PHP safe-mode.
Version numbers of apg, apgd, apgbfm, apgonline changed to 2.0.0final.

apg-2.0.0b1
Fixed error that has forced user to set world-write privileges on
Bloom-filter file. (Thanks to Mike Robbins <mike.robbins@sweetolive.net>)
Fixed PHP frontend to clean-up generated HTML code.
(Thanks to Mike Robbins <mike.robbins@sweetolive.net>)

apg-2.0.0b0
Some code style fixes.
Support for "special" symbol-set usage for password generation
in pronounceable mode (S mode).
Support for "resticted special" symbol-set usage for password generation
in pronounceable mode (R mode).
New style of hyphenated password output for pronounceable
password generation mode.

apg-2.0.0a3
Better error handling in apgbfm.
Added -q option for apgbfm and apg (quiet mode).
Added PHP frontend for APG.

apg-2.0.0a2
Added support for SHA1 algorithm used for random numbers and hash
generation.
Hash function used in apgbfm changed to SHA1.
Added info to APG_TIPS file.

apg-2.0.0a1 (not published)
Finaly fixed some warnings during compilation process.
Added support for OpenBSD.
Added info to APG_TIPS file.

apg-2.0.0a0
Added new algorithm (-b option) to check generated passwords
quality (Bloom filter).
Added utility apgbfm to manage Bloom filter.
Some code style fixes.
Added APG_TIPS file in documentation.

apg-1.2.13
Added support for NetBSD.
(Thanks to Tomasz Luchowski <zuntum@eik.pl>).
Expand Down Expand Up @@ -63,7 +131,7 @@ apg-1.0.4
Added option -c (see apg(1)).Changed apg.c, apg.1 manpage.

apg-1.0.3
Fixed somecode style errors. Changed INSTALL, apgd.8 manpage.
Fixed some code style errors. Changed INSTALL, apgd.8 manpage.

apg-1.0.2
Improved event logging of apgd. Changed INSTALL.
Expand Down
2 changes: 1 addition & 1 deletion COPYING
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 1999, 2000, 2001
Copyright (c) 1999, 2000, 2001, 2002
Adel I. Mirzazhanov. All rights reserved

Redistribution and use in source and binary forms, with or without
Expand Down
7 changes: 5 additions & 2 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ use them together.
The simplest way to install this package is:
1. untar the distribution and cd to the top:

% gzip -d -c apg-1.X.XX.tar.gz | tar xf -
% cd apg-1.X.XX
% gzip -d -c apg-2.X.XX.tar.gz | tar xf -
% cd apg-2.X.XX

If you are reading this file, you probably have already done this!

Expand All @@ -28,6 +28,9 @@ If you are reading this file, you probably have already done this!

% make all

During the make process compiler will generate some warnings
Just ignore this fact. I'm working to fix them.

4. install the binaries and man pages. You may need to be superuser
to do this (depending on where you are installing things):

Expand Down
7 changes: 5 additions & 2 deletions INSTALL.CYGWIN
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@ Generaly there are 2 types of installation:
(2) client-server
but only standalone installation implemented for CYGWIN yet.

APGD(server) works too, but it has some bugs and i could
not recommend to use it.

The instruction below IS FOR STANDALONE INSTALLATION ONLY

The simplest way to install this package is:
1. untar the distribution and cd to the top:

% gzip -d -c apg-1.X.XX.tar.gz | tar xf -
% cd apg-1.X.XX
% gzip -d -c apg-2.X.XX.tar.gz | tar xf -
% cd apg-2.X.XX

If you are reading this file, you probably have already done this!

Expand Down
78 changes: 66 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,63 +1,105 @@
##################################################################
# You can modify CC variable if you have compiler other than GCC
# But the code was designed and tested with GCC
CC = gcc

# compilation flags
##################################################################
# Compilation flags
# You should comment the line below for AIX+native cc
FLAGS = -Wall

# libraries
##################################################################
# Libraries
#
# You should comment the line below for OpenBSD 2.8 and above
LIBS = -lcrypt
LIBM = -lm
# Use lines below for cygwin
# LIBS =
# LIBM =

##################################################################
# Support for crypted passwords
#
# DO NOT EDIT THE LINE BELOW !!!
CRYPTED_PASS = APG_DONOTUSE_CRYPT
# Coment this if you do not want to use crypted passwords output
CRYPTED_PASS = APG_USE_CRYPT

##################################################################
# Support for ANSI X9.17/SHA1 PRNG
#
# DO NOT EDIT THE LINE BELOW !!!
USE_SHA = APG_USE_SHA
# Coment this if you want to use PRNG X9.17 with SHA-1
USE_SHA = APG_DONOTUSE_SHA

##################################################################
# Directories
# Install dirs
INSTALL_PREFIX = /usr/local
APG_BIN_DIR = /bin
APG_MAN_DIR = /man/man1
APGD_BIN_DIR = /sbin
APGD_MAN_DIR = /man/man8

# Find group ID for user root
FIND_GROUP = `grep '^root:' /etc/passwd | awk -F: '{ print $$4 }'`

####################################################################
# If you plan to install APG daemon you should look at lines below #
####################################################################

####################################################################
# FreeBSD
#
# Uncoment NOTHING for FreeBSD
#

####################################################################
# Linux
#
# Uncoment line below for LINUX
#CS_LIBS = -lnsl

####################################################################
# Solaris
#
# Uncoment line below for Solaris
#CS_LIBS = -lnsl -lsocket

# ====== YOU DO NOT NEED TO MODIFY ANYTHING BELOW THIS LINE ======
# Find group ID for user root
FIND_GROUP = `grep '^root:' /etc/passwd | awk -F: '{ print $$4 }'`

PROGNAME = apg
CS_PROGNAME = apgd
SOURCES = rnd.c ./cast/cast.c pronpass.c randpass.c restrict.c errors.c apg.c
HEADERS = owntypes.h pronpass.h randpass.h restrict.h errs.h rnd.h ./cast/cast.h ./cast/cast_sboxes.h
BFM_PROGNAME = apgbfm
BFM_SOURCES = apgbfm.c bloom.c sha/sha.c errors.c getopt.c
SOURCES = bloom.c ./sha/sha.c ./cast/cast.c rnd.c pronpass.c \
randpass.c restrict.c errors.c apg.c getopt.c
HEADERS = owntypes.h pronpass.h randpass.h restrict.h errs.h rnd.h \
./cast/cast.h ./cast/cast_sboxes.h getopt.h
OBJECTS = rnd.o ./cast/cast.o pronpass.o randpass.o restrict.o apg.o errors.o

all: cliserv standalone

cliserv: apgd apgbfm

standalone: apg apgbfm

cygwin: standalone

cliserv: ${SOURCES} ${HEADERS}
${CC} ${FLAGS} ${CS_LIBS} -DCLISERV -o ${CS_PROGNAME} ${SOURCES}
apg:
${CC} ${FLAGS} -D${CRYPTED_PASS} -D${USE_SHA} -o ${PROGNAME} ${SOURCES} ${LIBS} ${LIBM}

apgd:
${CC} ${FLAGS} -DCLISERV -D${USE_SHA} -o ${CS_PROGNAME} ${SOURCES} ${CS_LIBS} ${LIBM}

standalone: ${SOURCES} ${HEADERS}
${CC} ${FLAGS} ${LIBS} -D${CRYPTED_PASS} -o ${PROGNAME} ${SOURCES}
apgbfm:
${CC} ${FLAGS} -o ${BFM_PROGNAME} ${BFM_SOURCES} ${LIBM}

strip:
strip ${PROGNAME}
strip ${CS_PROGNAME}
strip ${BFM_PROGNAME}

install:
if test -x ./apg; then \
Expand All @@ -71,6 +113,12 @@ fi
./mkinstalldirs ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apgd ${INSTALL_PREFIX}${APGD_BIN_DIR}; \
./install-sh -c -m 0444 ./doc/man/apgd.8 ${INSTALL_PREFIX}${APGD_MAN_DIR}; \
fi
if test -x ./apgbfm; then \
./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
./install-sh -c -m 0755 -o root -g ${FIND_GROUP} ./apgbfm ${INSTALL_PREFIX}${APG_BIN_DIR}; \
./install-sh -c -m 0444 ./doc/man/apgbfm.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
fi

install-cygwin:
Expand All @@ -79,7 +127,13 @@ install-cygwin:
./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
./install-sh -c -m 0755 ./apg.exe ${INSTALL_PREFIX}${APG_BIN_DIR}; \
./install-sh -c -m 0444 ./doc/man/apg.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
fi
if test -x ./apgbfm.exe; then \
./mkinstalldirs ${INSTALL_PREFIX}${APG_BIN_DIR}; \
./mkinstalldirs ${INSTALL_PREFIX}${APG_MAN_DIR}; \
./install-sh -c -m 0755 ./apgbfm.exe ${INSTALL_PREFIX}${APG_BIN_DIR}; \
./install-sh -c -m 0444 ./doc/man/apgbfm.1 ${INSTALL_PREFIX}${APG_MAN_DIR}; \
fi

clean:
rm -f ${CS_PROGNAME} ${PROGNAME} ${OBJECTS} core*
rm -f ${CS_PROGNAME} ${PROGNAME} ${BFM_PROGNAME} ${OBJECTS} core*
14 changes: 13 additions & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
APG v2.1.0 was tested and found working on:

i386 FreeBSD 4.6-RELEASE
Intel Solaris 8 gcc-2.95.2
SPARC Solaris 8 gcc-2.95.2
RedHat Linux 7.2

APG v1.2.13 was tested and found working on:

i386 FreeBSD 4.0-RELEASE
NetBSD (reported by Tomasz Luchowski <zuntum@eik.pl>)
OpenBSD (reported by Rick VanNorman <rick@neverslow.com>)
i386 Linux-Mandrake 6.0
i386 Linux-Redhat 7.0
i386 Linux-Mandrake 7.2 (reported by Andrew J. Caird <acaird@advance-inc.com>)
Expand All @@ -15,10 +23,14 @@ APG v1.2.13 was tested and found working on:
AIX 4.3.3+native cc (reported by Philip Le Riche <pleriche@uk03.bull.co.uk>)
AIX 4.3.3+gcc (reported by Philip Le Riche <pleriche@uk03.bull.co.uk>)

Any compatibility reports are welcom
NOTE:
This release (APG v2.1.0b1) is NOT yet compatible with TkAPG (Tcl/Tk frontend for APG)

Any compatibility reports are welcome

* For installation instructions see INSTALL
* For usage instructions see manpages
* For tips see doc/APG_TIPS
* For copying information see COPYING

See also APG Homepage at: http://www.adel.nursat.kz/apg/
Expand Down
15 changes: 15 additions & 0 deletions THANKS
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,18 @@ Andrew J. Caird <acaird@advance-inc.com>
Alexander J Pierce <apierce@boi.hp.com>
Philip Le Riche <pleriche@uk03.bull.co.uk>
Tomasz Luchowski <zuntum@eik.pl>
Barton Hodges <barton@gcmcomputers.com>
Rick VanNorman <rick@neverslow.com>
Tomaz Zupan <tomaz.zupan@orpo.si>
Marc Haber <Marc.Haber@plannet.de>
Tom Schutter <tom@platte.com>
Matt Mullins <matt_mullins@ared.uscourts.gov>
Mike Robbins <mike.robbins@sweetolive.net>
Bernhard Wesely <mail@weselyb.net>
Allen Wells <Allen.Wells@state.mn.us>
Jose Nazario <jose@crimelabs.net>
Sebastian Stark <seb@todesplanet.de>
Joseph P. Crotty <jcrotty18@attbi.com>
Schlies, Peter <PSchlies@syntellect.com>
Eugene Podkopaev <eugene@emetex.ru>
Bill Plesko <bplesko@mcguirebearing.com>
3 changes: 0 additions & 3 deletions TODO
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,3 @@ Priority Medium:

* Make some interfase for plug-in language modules
for pronounceable password generation.

* Make some interface ( language ) to describe
restriction rules for passwords.
Loading

0 comments on commit e6c3fd9

Please sign in to comment.