MiniVend 2.03d - Perl 5.004 and session fixes
* Now compatible with Perl 5.004.
* Sessions now can be handled in more than one way. The
default is with the new directive DomainTail set to "yes".
This qualifies the session ID with the major domain instead
of the IP number (i.e. aol.com instead of 152.163.202.72).
This should prevent problems with AOL and other ISPs who
use multiple proxy servers.
If you set DomainTail to 'no' and the new directive
IpHead to 'yes', this will use the major two dot-quads
of the IP number instead. This will work well for systems
that have HostNameLookups off (on either the secure or non-secure
server).
To keep the old (unreliable for AOL) behavior, set DomainTail
to 'no' in minivend.cfg.
* Server should now be reliable on BSD. Uses the File::Counterfile
module to keep server counts. The SafeSignals directive (minivend.cfg)
can be set to 'no' if you wish to try this for other operating
systems.
MiniVend 2.03c - Minor change to 2.03b to fix sessions
MiniVend 2.03b - Bug fixes
* Made ready to run with Perl 5.004 by fixing SafeUntrap (will
find correct version, use Opcode.pm style if version greater
than 5.00320) and a few warnings
* Added all patches from patch set A
* Added patch that allows accesses from multiple proxy servers
(i.e. AOL) while retaining session for SSL
* Added Safe{'carts'} access method
* Added 'do_tag' routine that allows access to tags within
perl user subroutines. Called with:
$data = do_tag("data arbitrary field1 $key");
MiniVend 2.03 - User reconfiguration and internet-domain server,
* Re-configuring a catalog can now be done on an individual
basis. No more server re-starts for a user to change their
configuration.
* MiniVend no longer requires DBM, though it is still best to use
GDBM or DB_File if available. There is a file-based session
storage message mechanism, and product databases can
be stored in memory. This is automatically selected if
appropriate.
* Multi-server mechanism changed completely. Only one
server runs when in quiescent state -- it forks additional
servers as necessary, up to a limit you decide. This works
around a memory leak in Safe.pm, the server can now run for
months on end.
* Runs on just about any Unix operating system with
no changes, providing Perl 5.002 is available. This
includes IRIX, which formerly would not run MiniVend.
* Perl subroutines can now be defined on three levels, and
directly called from MiniVend pages. Two use the Safe.pm module
for enforcing security, while an administrator-enabled GlobalSub
routine can run external programs for complete control.
* mSQL support is now considered stable, and the databases
can be updated by forms from within MiniVend.
* The link CGI program may now use TCP-based sockets, which
allows the link CGI to be located on a different machine than
the MiniVend server. Be careful of security, though!
* Perl link programs are provided for systems without a C compiler.
(Solaris still needs a C compiler for File::Lock, unless it is
already installed on Perl.) Not production quality -- user
help would be appreciated.
* Search sorting can be done right on the page from returned
fields, and be sorted by field based on form options.
* The [if ...] conditionals are much improved. Contained
HTML can now be deferred until the last interpolation pass
with the [post] [/post] tag pair.
* New mv_click and mv_check special variables set multiple
form parameters with a single form button.
* Cookies are only sent once if enabled, preventing annoying
multiple warnings if the user has them turned on.
* If the user is going through multiple proxy servers (as
AOL users do), the session will be stable.
* If REMOTE_USER is present, the IP address will not be
used for the session name, allowing the same user to connect
to a saved session from any machine.
* Many other minor bug fixes, improvements, and changes.
- Server now runs on either UNIX-domain or internet domain sockets
- mSQL arrayhash primitive added
- More backend support hooks, can be integrated with Cybercash
- Order quantities optionally fractional
- Shopping carts can be manipulated by Perl [perl carts]
- [uniq] and [sort opt] constructs added to search lists
- Rudimentary search caching
- Improved demo
- Fixed [if explicit ...] tag (again)
- Added TcpHost, TcpPort, HouseKeeping, SearchCache, Password,
MasterHost, RemoteUser, FractionalItems, GlobalSub, Sub
directives
MiniVend 2.02 - Multiple Shopping Carts and mSQL
* mSQL support
* Added [msql hash|array|html|param] SQL code [/msql] , [msql list SQL code]
substitution-list [/msql], [item-param n] tags
* Added MsqlDB, MsqlProducts, CreditCardAuto, SeparateItems,
Locale catalog directives
* Untrapping of Safe op codes defined in global minivend.cfg with
SafeUntrap directive (249 and 148 by default)
* Better credit-card checksum validation, with conditional
PGP encryption that can be embedded in order email
* Fixed [if explicit ...] tag
* Removed CreditCards directive
* Greatly improved search reliability
* Added search sorting
* Multiple shopping carts (buy/sell)
* Automatic installation of File::Lock module on Solaris
* Improved PGP support
* Removed standard Des capability
* Improved stop script to kill non-responders (with -f option) and
clean up sockets/pidfiles
* Configuration bugs fixed (ownership and SampleUrl)
* Added (if_loop_field) to [loop list], make separate from [item-list]
still compatible with old
* Loop lists can now be quoted values, still no embedded ]
MiniVend 2.01 - Maintenance Release
* Added modifier variables to user values
* Encapsulated code to prevent dying on catalog config and execution
* Improved makecat scripts
* Corrected silly duplication of files
* Improved [selected] and [checked]
* Fixed minor demo problems
* Changed IRIX locking to flock()
* Changed configure to set ForkSearches to NO on SunOS and OSF/Alpha
MiniVend 2.0 - The ISP release
* Multiple independent and shared catalogs
* Embedded Perl code using Safe.pm (still has memory leak?)
* Range searching in the TextSearch module (add Glimpse)
* Discount policy
* UPS lookup shipping calculation
* Multiple configurable attributes (size/color, etc)
* Order profiling allows multi-level screens
* New tags [loop item,item...]value[/loop], [modifier-name attribute]
and [item-modifier attribute]
* Added [else][/else] to [if_field]
* Demo much improved
* Removed MAT
* No option for svend in installation, must install manually
* No option for netstart
* Made Solaris default to full support, still needs File::Lock
* Fixed library ordering problem
* Many reliability improvements
MiniVend 1.03 - Multiple servers and disconnected searching
* Multiple servers can be run for the same catalog
* Searches are forked so single-server installations will
not see delays while searching
* Cookie support
* Quantity price breaks
* Revamped demo yet again
* Order lists can be displayed anywhere
* Nameable order and search pages
* Accessories feature
* Added TaxShipping, NonTaxableField, PriceField, DescriptionField,
AlwaysSecure, ExtraSecure, HammerLock, MultiServer, PageCheck,
PriceBreaks, MixMatch, Cookies, Specialpage, Database directives
* Searches are now independent on database field
* Fixed bugs in match paging
* Arbitrary table-like text formatting with [row] [column] elements
* Vend variables available with [if][else][/else][/if]
* Configuration script now handles multiple installs, and
GCC is recognized
* Code somewhat modularized
* Pages are checked for fatal errors before server starts???
* Static mode will be almost unusable unless the Apache
Perl_fast mode is used (not supported or explained)
* MAT now displays error logs???
* Unlimited databases
* Special pages are mapped
* [data database field key] tag added
MiniVend 1.02 - SSL Security
* Revamped demo to have fewer frames
* Added CreditCards, EncryptProgram, FrameOrderPage, SecureOrderMsg,
SecureURL directives to configuration
* Added __secure suffix to target of [pagetarget] element, allows secure
transmission of arbitrary pages
* Added [process-target target secure] element
* Added [secure-order] element
* Improved "match exactly" search, removed bug that could crash
program (not the system)
* Added Imagemap behavior for forms, uses the mv_todo.map
variable to pass "client-side" maps
* Added TCP-based link program and Server.pm.tcp to allow
TCP-based communication (no auto installation). THIS IS A
SECURITY HOLE IF USING SSL AND DES
@ Fixed bug causing session close if bad quantity entered
MiniVend 1.01 - Extensive changes
* Added [salestax], [subtotal] tags
* Added CustomShipping, DefaultShipping, Backend, SalesTax,
and Tracking directives
* Added backend order entry in the tracking DBM database
* Added order archiving in the tracking DBM database
* Added page stats in the tracking DBM database
* Added custom shipping charges with shipping.asc file
* Added sales tax calcuation with salestax.asc file
* Changed name of vendadm/avend to MAT
* Documented all of the above
* Added example backend order entry programs (bin/entord and
bin/trackrpt)
MiniVend 1.0a - Fixed minor configuration and catalog bugs 2/13/96
MiniVend 1.0 - Extensive changes to the documentation 2/11/96
and programs to change the name.
* Added [random] element and Random directive for random
messages embedded in pages
* Added [help item] element and Help directive for inline
help messages
Version 0.2m8
* Added [body n] element and Mv_Background, Mv_TextColor,
Mv_BgColor, Mv_LinkColor, and Mv_VlinkColor directives
for user-customizeable appearance
* Added [buttonbar n] element and ButtonBars directive for canned
button bars
Version 0.2m7
* Added Server.pm and Http.pm support, now much faster when
running in server mode
* Made locking more portable by using Vend::lock.pm module
* Changed configure script to support server mode
* Added VendRoot/etc dir to hold socket, pidfile, and conf files
* Docs still don't discuss all this, next version
Version 0.2m6 Splinter version by Mike Heins - February 3, 1996
* Added client-side imagemap support
* Added tags
[areatarget page target]
[area page]
* Added comma prices with PriceCommas directive
* Configuration utility for installation
* Improved documentation for all
* Added frames demo
* Deleted [search][/search] tag
* Regularized variables over vendadm.pl, vendpage, vend.pl
* Added password check on vendadm.pl
* Changed default file names to make ready for NT version
Version 0.2m5 Splinter version by Mike Heins - January 26, 1996
* Added frame support
* Add tags [pagetarget page frame][/pagetarget]
[frames-on]
[frames-off]
* vendadm(8L) utility added to help administer Vend
Version 0.2m4 Splinter version by Mike Heins - December 28, 1995
* Subdirectory capabilty added ('/' added to $codere)
* Search engine added to search product index (ASCII)
* Search engine added to search page tree (glimpse, untested)
* Add tags [search][/search]
[search-list][/search-list]
[item-link]
* Product codes put in dbm files, with makedb command to make them
from ASCII source
* Fourth field (page location) added to product file
* vendpage(8L) utility added to help maintain tree
Version 0.2
svend.c cleaned up
configuration directives now get correct default values
Version 0.1
initial release