..................................................................
!!! hexupd has some compiling errors, use an older version of lincardemu
    for compiling hexupd !!!

Dated 2005-03-09
  - Updated newcamd-client source for compability with the new protocol changes
    Based on 5.26 protocol, so NO more support for lower versions than 5.25.
    - IMO.. please do some hard tests on this cause ive not had the time to.
    - Please post results @ "linux_sat" group  
    - // Phiberz // phibers*nospam*@hotmail.com remove *nospam* when mailing ;)

Dated 2004-08-20
  - Added 0065 Cyfra+ Seca2 support. Only Bx hash tables are included.
    Hotbird channels decoding using Bx tables are:
    - AB Moteurs
    - XXL
    - TVN
    - TVN Meteo
    - TVN Turbo
    - Eurosport
  - Added 0065 Cyfra+ EMM UA update support. Cyfra+ AU is possible.
    Please note: The correct PPUA/MK01/MK11 and RSA keyset for the EMM
    must be added to Seca.dat for lincardemu to AU.
    
Dated 2004-08-17
  - Provider option: ecm_decode=local|cws added to all systems
    Each provider can select whether to decode the ecm locally, or by
    using a remote cardserver/cardspider. Should help to reduce
    timeouts on cardserver decryption by bypassing local attempts at
    decryption where keys not known.
    Default if omitted is local ecm decryption. 
    This option has been tested working with Viaccess CI CAMs. 
    Other CAMs still under testing.
    For Viaccess cardserver ecm decoding, provider must be added 
    to Viaccess.dat including ecm_decode=cws.
  - ecm_decode option in Conax.c Seca mode now accounts for Seca1
    providers. For Seca cardserver ecm decoding, provider must be added 
    to Seca.dat including ecm_decode=cws.
        
Dated 2004-08-16
  - new seca provider option in seca.dat:
    ecm_decode=local|cws
    Each provider can select whether to decode the ecm locally, or by
    using a remote cardserver/cardspider. Should help to reduce
    timeouts on cardserver decryption by bypassing local attempts at
    decryption where keys not known.
    Default if omitted is local ecm decryption. 
    This option is for Seca2 providers at present, and works in Aston
    Seca CI CAMs and Seca mode in Conax CI CAMs. Embedded Seca and
    Conax CAMs should work too.
    
Dated 2004-08-13
  - Fixed 0064 Seca2 EMM UA key updates. 0064 AU updates now possible
    with PPUA and MK01 present in Seca.dat. Remember with EMM UA
    updates that the RSA keysets for EMM are present also.
  
Dated 2004-08-11
  - Added 0x0602 cardserver support in Irdeto2 CI cams:
    Provider info isnt necessary in irdeto.dat. Only 0x0602 providers
    are accounted for at present.
  
Dated 2004-08-09
  - Fixed 0064 support in Aston 1.05 CI cams

Dated 2004-07-15
  - Added Seca2 EMM UA key updates. PPUA and MK01 for each provider
    must be added to Seca.dat for this to work. The correct RSA EMM
    keysets must also be added to Seca.dat.
  - Added Via1/Via2 cardserver support in Viaccess CI/embedded cams:
    Full autoswitching is possible. Provider IDs must be present
    in Viaccess.dat for the cams to be able to prepare a provider
    list. A maximum of 16 providers are available with Viaccess CI cams. 
    Replace IDs in Viaccess.dat as needed. 
    
Dated 2004-07-13
  - Added Seca2 cardserver support in Seca CI/embedded cams:
    Full autoswitching is possible. Provider IDs must be present
    in Seca.dat for the cams to be able to prepare a provider
    list. A maximum of 8 providers are available with Seca CI cams. 
    Embedded cams can cope with 16 providers. Replace IDs in
    Seca.dat as needed. 
  - Fixed Seca2 cardserver support in Conax cams where provider
    RSA keysets are known (Sky Italy now works with cardservers)
  
Dated 2004-07-09
  - Added Seca2 51 02 nano support
  
Dated 2004-06-22
  - In extended conax menu, new "e" command:
    prints a list of current emm pids from current channel.
    Once a list is displayed, pressing "e x" where x is the
    leftmost number in brackets, the CAID is selected and used
    after a receiver/cam reset.    
  
Dated 2004-06-11
  - Added Seca2 51/0f nano support
    
Dated 2004-05-10
  - Added passive logging mode. Commandline option -l 8 will passively
    log all port data in 16 byte packets.

Dated 2004-05-04
  - Upgraded newcamd to use tng12 protocol. Also other fixes.
    Added support for Viaccess 2 (not tested)

Dated 2004-04-13
  - Added support for getting control words from a newcamd
    or radegast cardserver in the Conax section.
    So far Betacrypt, Conax and Cryptoworks are supported
    Since the code for each case is general perhaps it should be put
    together instead of being in each case (then it would also work for
    all systems)

Dated 2004-04-08
  - Added code to handle the new nano 63 in Conax
  - Added Seca 2 algorithm. Still work to be done

Dated 2003-07-18
  - In extended viaccess menu, new "iss" command.
    prints current issuer ident, or sets new issuer idents.
    Idents of the form ff f4 xx all report ff f4 00, but
    there can be 255 issuer keys/idents in viaccess.dat,
    and selection of active issuer key bye "issuer" command in viaccess.dat
    or "iss = fff4xx" command in extended menu.

Dated 2003-01-28
  - added new format for protocol data in lincardemu.rc 
    so all is in one line, example:
    atr_protocol = 12200,8,even,1,direct

Dated 2003-01-05
  - conax.c now has conax emulation !
    new conax.dat for conax.c
    addfilter is now moved to conax.dat, old filters in seca.dat
    and irdeto.dat will automatically be moved to conax.dat

Dated 2002-10-23
  - conax.c: tpscrypt changes
    xor-mask is adressed using modulus 64 ( ^mask[addr & 0x3f] )
    tps_xor missing bytes added to mask.
    tps_xor new algorithm for matching guessing on the xor'ed via_ppid
    (if the ppid exist, then use the mask)     
  - hexmmn4.c new utility for command line hex/mm2/n4 conversion
    Also minor changes in confutil, ec_keys, ec_utils etc.
  - viaccess.c 
    Some changes to for hopefully a better way to set UA. 
    The ident with "issuer" set will also be used for the cards UA address.

Dated 2002-09-26
 - ec.c: minor fixes ind keys update messages (and key_length/KEY_LENGTH)
 - ec_keys.c: KEY_LENGTH wrong in InternalSaveKey(), should be key_length
         now eckeys.dat again only has 7 bytes per key.
 - viaccess.c: wrong UA address is reported to decoder, depending
    on the first ident in viaccess.dat.
    Now the "issuer" value is used. 

Dated 2002-09-21
 - config.c : added user defined ATR for each system in lincardemu.rc
 - conax.c : fixed error with mlogprint  and switching main system
    when accessing the OSD_PIN menu.

Dated 2002-09-03
 - conax.c : auto select of subsystem, experimental,
  (doesn't always work well, so default turned off )

Dated 2002-08-01
 - conax.c : 5in1 OSD menues to select subsystem

Dated 2002-03-13
 - hexupd.c
   -sSYS : use hex file type name "SYS" from hexupd.dat

Dated 2002-03-12
config.c, main.c, confutil.c, confutil.h, common.c, hexupd.c, ec_keys.c,...
 - changed "config.dat" to  search for configuration file
   in the following order:
   1) lincardemurc in current directory
   2) ~/.lincardemurc
   3) config.dat in current directory
 - log_dir and data_dir added to configuration file
   if used, they contain path to log files and data files

Dated 2002-03-06
viaccess.c, ec_util.c, ec_util.h
 - fixed bug with single card updates (key updates with UA)
 - added "manual update" to update log when entering keys in 
   command windows.

Dated 2002-02-13
hexupd.c
 - hex update filem. read keys from keyfiles and make a Intel Hex
   file with updates or update an existing Intel hex file.
   List groups and/or idents to add.

Dated 2002-02-11
irdeto/seca
 - added X-in-1 for seca and improved Nagra

Dated 2002-02-10
command.c
 - fixed problem with the command "hex= k1 k2 k3...", using
   real_id inkluding key index in id[2], now id[2]=real_id[2]&0xf0

Dated 2002-01-30
confutil.c/confutil.h
 - added add_comment(), print_comments()
ec_keys.c/seca_keys.c
 - for global and each section/channel added comments that are saved
   these comments begin with  "#;"
ec.c
 - all subinfo (ec-m) is cleared for e0 01 xx (subchannel info byte)
   reason: ZTV-N (former ViasatPlus) does not send e1 with theme/level
ec_util.c/ec_util.h
 - constants and functions moved from ec.c (common with viaccess.c)
   added,EC_ToDate(), EC_DatetoHex(), hasgmsgs[], hasherrmsgs[],newkeytext[]
 - moved from confutil.c HextoNordic4()

irdeto.c
 - nagra_keys[][] zeroed 
   first key of first nagra section from irdeto.dat used instead.

Dated 2002-01-28
viaccess.c/viacces.h
 - added group number to label name

Dated 2002-01-27
config.c/config.h
 - added Build_ATR(), checks ATR, info message of ATR bytes
   and changes ATR to direct/inverse depending on config.dat
std_log.c
 - Some minor changes in debug level (-lN) for card logging.
   With bit 3 set, card communikation during sync/ATR is logged. (N: 5-7)

Dated 2002-01-22
confutil.c
 - added SetU32(...), reads N 32 bit integers from config. file
ec_keys.c/ec_keys.h
 - added  provider, chidp[], datecode to irdeto.dat

Dated 2001-12-23
main.c/irdeto.c
 - minor change in menu for irdeto, tolower and if/else construction

Dated 2001-12-22
Changes v0.1.8o
irdeto.c
 - all_coco added + misc.
viaccess.c
 - added "9999" pinkode, forces reset
 - added 900N and 910N, removes/adds a group
 - active groups shown under issuer/info, field "ceiling/limit".

Dated 2001-12-09
Changes v0.1.8o
common.h
 - changed "enum" of Sys_*, Sys_EC_S from 4 to 6
irdeto.c
 - added "nagra" keyword to ec_keys.c and NAGRA_KEY flag.
 - Use (chan->flag & NAGRA_KEY) to test for a nagra channel

Dated 2001-11-20
Changes v0.1.8o
irdeto.c
 + Decoding should work using keys in irdeto.dat
 - Auto-update is not fully testet.
 - And the correct hexserial should be sent at start-up.

Dated 2001-11-04
Changes v0.1.8n
viaccess.c
 - fixed bug with viacces when cac0 precedes a cab8  
   should be changed generally to answer 90 02 when cab8 is not expected

Dated 2001-10-31
Changes v0.1.8n

ec_keys.c, ec_keys.h, main.c ....
 - added irdeto to ec_keys to read/write irdeto.dat keyfile
 - added u8 *get_ird_country_code() (from irdeto.dat)

irdeto.c 
 - op_keys now use channel/key structure 
   HMK, PMK,HexSerial from channel structure needs added to irdeto.c
   also get_ird_country_code() is not yet used

..................................................................

Dated 2001-10-10

Changes since v0.1.8j :

serfunc.c
 - changed parameters to initPort(), parity=0/1/2 to allow no parity
   and 1 or 2 stop bits, and csize for 5/6/7/8 bits.
   (initPort_noparity() is removed)
   the initialisation has not been tested for other than 8-Odd-2
 - added som variables to the local struct lserial_port_info 
   (cstopb, cbitsize)

ec_keys.c
 - changed to KeyInUse from LastKeyUsed, but both can be read so
   old key files may still be used.

config.h
 - changed oddparity to parity in "crypto_system".

main.c
 - changed meaning of parity value: 0=none, 1=odd, 2=even;
   (affects the CS table)

seca.c
 - added SecaDateToHex(), converts yymmdd-> 16 bit hex date coding;
 - moved curr_seca_date, so it may be used to compute expire_date.
   The day is changed to 31st.  I am not sure if this will work.

..................................................................

Dated 2001-10-04

Changes since v0.1.8j :

serfunc.c
 - added void initPort_noparity()

ec_keys.c
 - changed to KeyInUse from LastKeyUsed

main.c
 - updated cs types to include Irdeto and Videoguard
 - added CLA's of 01(Irdeto) and 48(Videoguard) in CLA switching
 - updated initialize_port() to allow for no parity (if noparity set to 2)

conax.c
 - rewritten
 - added the B2 OSD request instruction
 - added the A2 'No access' CA return (enabled with SW2=06 in A2)
 - corrected ATR
 - updated all CA returns to cope with known OTA commands (2001-10-04)

irdeto.c
 - added inital irdeto v1.x routines
 - all known (except EMM) OTA commands accounted for
 - class05 return correct except decrypted words

irdeto_v1_algorithm.c
 - correct v1.x hash tables
 - correct checksum calculation
 - inital sessioncrypt, camcrypt, cardcrypt routines (need checking)

videoguard.c
 - added initial videoguard routines
