activelock-development Mailing List for ActiveLock (Page 9)
Brought to you by:
ialkan
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
(52) |
Aug
(170) |
Sep
(34) |
Oct
(62) |
Nov
(46) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(2) |
Mar
|
Apr
(17) |
May
(14) |
Jun
(31) |
Jul
(59) |
Aug
(18) |
Sep
(3) |
Oct
|
Nov
|
Dec
(5) |
2005 |
Jan
|
Feb
(10) |
Mar
(3) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Thanh H. T. <th...@us...> - 2003-11-05 04:53:10
|
Update of /cvsroot/activelock/activelock/examples/example1 In directory sc8-pr-cvs1:/tmp/cvs-serv713 Modified Files: modMain.bas Log Message: Regen'ed SoftwareCode. Old code must have gotten corrupted/lost somehow. Could be due to that INI truncation bug. Index: modMain.bas =================================================================== RCS file: /cvsroot/activelock/activelock/examples/example1/modMain.bas,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- modMain.bas 4 Nov 2003 07:49:29 -0000 1.7 +++ modMain.bas 5 Nov 2003 04:53:07 -0000 1.8 @@ -273,7 +273,7 @@ ' It is alright to use these same keys for testing your application. But it is highly recommended ' that you generate your own set of keys to use before deploying your app. 'Public Const PRIV_KEY$ = "???" -Public Const PUB_KEY$ = "AAAAB3NzaC1yc2EAAAABJQAAAIBmyH+sZ9eXI33MbVFWR85fsHLXndX2WaNokSaqxYltluQx2sX4T81r7jazTFxcczllwuMEauhL1rTqXCma0uA6xAQGajRorXeLcrW5OHIut7+HprXy9MTUp0SwsVFJJjDaRmodPaCBTUPD006lG7LNN5/jO/Cj8dNf6lVHy+VnIQ==" +Public Const PUB_KEY$ = "AAAAB3NzaC1yc2EAAAABJQAAAIB8/B2KWoai2WSGTRPcgmMoczeXpd8nv0Y4r1sJ1wV3vH21q4rTpEYuBiD4HFOpkbNBSRdpBHJGWec7jUi8ISV0pM6i2KznjhCms5CEtYHRybbiYvRXleGzFsAAP817PLN3JYo3WkErT2ofR5RCkfhmx060BT8waPoqnn3AB7sZ0Q==" 'Commented out Encrypt() for now. Have to think about using some other means, ' because PRIV_KEY is no longer accessible to us. @@ -350,7 +350,7 @@ ' Returns the expected CRC value of ActiveLock2.dll ' Private Property Get Value() As Long - Value = 121711 + 8516 ' compute it so that it can't be easily spotted via a Hex Editor + Value = 130111 + 8516 ' compute it so that it can't be easily spotted via a Hex Editor End Property '' |
From: Thanh H. T. <th...@us...> - 2003-11-04 07:53:35
|
Update of /cvsroot/activelock/activelock/docs In directory sc8-pr-cvs1:/tmp/cvs-serv9812 Modified Files: ReleaseNotes.htm Log Message: Added notes for release 2.0.4 Index: ReleaseNotes.htm =================================================================== RCS file: /cvsroot/activelock/activelock/docs/ReleaseNotes.htm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ReleaseNotes.htm 13 Oct 2003 08:50:41 -0000 1.2 +++ ReleaseNotes.htm 4 Nov 2003 07:53:32 -0000 1.3 @@ -42,7 +42,7 @@ <center> <h1>Release Notes</h1> <h3>ActiveLock<sup><font size=-2>TM</font></sup> 2<br> -Alpha 2 (Oct. 13, 2003)</h3> +Alpha 3 (Nov. 04, 2003)</h3> </center> <hr> <p> @@ -77,6 +77,23 @@ <a name="changes"><h2>Change History</h2></a> <blockquote> + <h3>2.0.4 (Alpha 3) - Nov. 04, 2003</h3> + <h4>General Changes</h4> + <ul> + <li>alcrypto.dll is now installed into the Windows System directory. + <li>License Class field in ALUGEN has been removed. This setting was totally unnecessary. + <li>Terminology change: Request Code is now called Installation Code + <li>New IActiveLock properties: RegisteredUser, InstallationCode + <li>Due to some interface cleanup, IActiveLock backward compatibility with 2.0.3 has been broken. + If you have an application using 2.0.3, you'll need to recompile your app against 2.0.4. + </ul> + <h4>Bug Fixes In This Release</h4> + <ul> + <li>GCode truncation bug in ALUGEN. This was actually a bug in ActiveLockUtil.INIFile class which + allowed only 255 bytes for an INI value, which obviously was not large enough for the GCode. + ActiveLockUtil.INIFile class now allows up to 2048 bytes for INI values. + </ul> + <h3>2.0.3 (Alpha 2) - Oct. 13, 2003</h3> <h4>New Features</h4> <ul> @@ -146,10 +163,10 @@ and <a href="http://sourceforge.net/tracker/?group_id=70007&atid=526385">bug reports</a>. <dt><a href="http://lists.sourceforge.net/mailman/listinfo/activelock-users">ActiveLock Users Mailing List</a> - <dd>This is the fastest way to get help if you're having trouble using ActiveLock. + <dd>This is the fastest way to get help if you're having trouble with using ActiveLock. <dt><a href="http://activelock.sourceforge.net/boards/">ActiveLock Message Board</a> - <dd>You can also post questions and discussions here. This way any newcomers who has not joined + <dd>You can also post questions and discussions here. This way any newcomers who have not joined our mailing list can also benefit from your discussions. </dl> </blockquote> |
From: Thanh H. T. <th...@us...> - 2003-11-04 07:49:33
|
Update of /cvsroot/activelock/activelock/examples/example1 In directory sc8-pr-cvs1:/tmp/cvs-serv9163 Modified Files: frmMain.frm modMain.bas Log Message: See internal Change Logs for details Index: frmMain.frm =================================================================== RCS file: /cvsroot/activelock/activelock/examples/example1/frmMain.frm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- frmMain.frm 13 Oct 2003 07:45:31 -0000 1.5 +++ frmMain.frm 4 Nov 2003 07:49:29 -0000 1.6 @@ -1,7 +1,7 @@ VERSION 5.00 Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX" Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "COMCTL32.OCX" -Begin VB.Form frmMain +Begin VB.Form frmMain BorderStyle = 3 'Fixed Dialog Caption = "ActiveLock2 Test App" ClientHeight = 6615 @@ -15,7 +15,7 @@ ScaleHeight = 6615 ScaleWidth = 8025 StartUpPosition = 3 'Windows Default - Begin ComctlLib.StatusBar sbStatus + Begin ComctlLib.StatusBar sbStatus Align = 2 'Align Bottom Height = 255 Left = 0 @@ -27,15 +27,15 @@ Style = 1 SimpleText = "Ready" _Version = 327682 - BeginProperty Panels {0713E89E-850A-101B-AFC0-4210102A8DA7} + BeginProperty Panels {0713E89E-850A-101B-AFC0-4210102A8DA7} NumPanels = 1 - BeginProperty Panel1 {0713E89F-850A-101B-AFC0-4210102A8DA7} + BeginProperty Panel1 {0713E89F-850A-101B-AFC0-4210102A8DA7} Key = "" Object.Tag = "" EndProperty EndProperty End - Begin TabDlg.SSTab SSTab1 + Begin TabDlg.SSTab SSTab1 Height = 6255 Left = 0 TabIndex = 3 @@ -58,20 +58,20 @@ TabCaption(1) = "Sample App" TabPicture(1) = "frmMain.frx":0CE6 Tab(1).ControlEnabled= 0 'False - Tab(1).Control(0)= "lblLockStatus" - Tab(1).Control(1)= "lblLockStatus2" + Tab(1).Control(0)= "fraViewport" + Tab(1).Control(1)= "fraTicker" Tab(1).Control(2)= "Frame1" - Tab(1).Control(3)= "fraTicker" - Tab(1).Control(4)= "fraViewport" + Tab(1).Control(3)= "lblLockStatus2" + Tab(1).Control(4)= "lblLockStatus" Tab(1).ControlCount= 5 - Begin VB.Frame fraViewport + Begin VB.Frame fraViewport BorderStyle = 0 'None Height = 400 Left = -74950 TabIndex = 35 Top = 5510 Width = 7850 - Begin ALTestApp.atViewPort atViewPort1 + Begin ALTestApp.atViewPort atViewPort1 Height = 375 Left = 0 Top = 0 @@ -89,14 +89,14 @@ BalloonTipText = "No Messages" End End - Begin VB.Frame fraTicker + Begin VB.Frame fraTicker Caption = "Message" Height = 1890 Left = -74880 TabIndex = 32 Top = 780 Width = 7575 - Begin VB.TextBox txtTicker + Begin VB.TextBox txtTicker Height = 1200 Left = 30 MultiLine = -1 'True @@ -106,7 +106,7 @@ Top = 240 Width = 7425 End - Begin VB.CommandButton cmdTest + Begin VB.CommandButton cmdTest Caption = "&Update Ticker" Height = 315 Left = 5730 @@ -115,14 +115,14 @@ Width = 1710 End End - Begin VB.Frame Frame1 + Begin VB.Frame Frame1 BorderStyle = 0 'None Height = 2535 Left = -74865 TabIndex = 20 Top = 2820 Width = 6615 - Begin VB.OptionButton optForm + Begin VB.OptionButton optForm Caption = "System Tray" Height = 225 Index = 1 @@ -131,7 +131,7 @@ Top = 1245 Width = 1395 End - Begin VB.OptionButton optForm + Begin VB.OptionButton optForm Caption = "Form" Height = 225 Index = 0 @@ -141,7 +141,7 @@ Value = -1 'True Width = 1395 End - Begin VB.ComboBox cboSpeed + Begin VB.ComboBox cboSpeed Height = 315 ItemData = "frmMain.frx":0D74 Left = 2070 @@ -151,7 +151,7 @@ Top = 270 Width = 1635 End - Begin VB.CheckBox chkBlackout + Begin VB.CheckBox chkBlackout Caption = "Black Out Ticker" Height = 420 Left = 0 @@ -159,7 +159,7 @@ Top = 645 Width = 1590 End - Begin VB.CheckBox chkSound + Begin VB.CheckBox chkSound Caption = "Play Sound On New Message" Height = 495 Left = 0 @@ -167,7 +167,7 @@ Top = 1590 Width = 1470 End - Begin VB.CheckBox chkPause + Begin VB.CheckBox chkPause Caption = "Pause Ticker" Height = 315 Left = 0 @@ -175,7 +175,7 @@ Top = 300 Width = 1365 End - Begin VB.CheckBox chkFlash + Begin VB.CheckBox chkFlash Caption = "Flash Ticker On New Message" Height = 495 Left = 0 @@ -183,7 +183,7 @@ Top = 1080 Width = 1470 End - Begin VB.CheckBox chkScroll + Begin VB.CheckBox chkScroll Caption = "Scroll Ticker" Height = 225 Left = 15 @@ -192,7 +192,7 @@ Value = 1 'Checked Width = 1275 End - Begin VB.CheckBox chkEnable + Begin VB.CheckBox chkEnable Caption = "Enable Balloon Tooltip" Height = 495 Left = 15 @@ -200,7 +200,7 @@ Top = 2115 Width = 1755 End - Begin VB.Label lblHost + Begin VB.Label lblHost Caption = "Ticker Host:" Height = 255 Left = 2055 @@ -208,7 +208,7 @@ Top = 705 Width = 990 End - Begin VB.Label lblSpeed + Begin VB.Label lblSpeed Caption = "Scroll Speed:" Height = 255 Left = 2070 @@ -217,22 +217,22 @@ Width = 1245 End End - Begin VB.Frame fraReg + Begin VB.Frame fraReg Caption = "Register" Height = 3255 Left = 120 TabIndex = 11 Top = 2580 Width = 7695 - Begin VB.TextBox txtUser + Begin VB.TextBox txtUser Height = 285 - Left = 1320 + Left = 1440 TabIndex = 16 Text = "Thanh Tran" Top = 240 - Width = 5055 + Width = 4935 End - Begin VB.CommandButton cmdReqGen + Begin VB.CommandButton cmdReqGen Caption = "&Generate" Height = 255 Left = 6480 @@ -240,16 +240,16 @@ Top = 600 Width = 1095 End - Begin VB.TextBox txtReqCodeGen + Begin VB.TextBox txtReqCodeGen BackColor = &H80000013& Height = 285 - Left = 1320 + Left = 1440 Locked = -1 'True TabIndex = 14 Top = 600 - Width = 5055 + Width = 4935 End - Begin VB.CommandButton cmdRegister + Begin VB.CommandButton cmdRegister Caption = "&Register" Enabled = 0 'False Height = 255 @@ -258,14 +258,25 @@ Top = 960 Width = 1095 End - Begin VB.TextBox txtLibKeyIn - Height = 285 - Left = 1320 + Begin VB.TextBox txtLibKeyIn + BeginProperty Font + Name = "Courier New" + Size = 8.25 + Charset = 0 + Weight = 400 + Underline = 0 'False + Italic = 0 'False + Strikethrough = 0 'False + EndProperty + Height = 2085 + Left = 1440 + MultiLine = -1 'True + ScrollBars = 3 'Both TabIndex = 12 Top = 960 - Width = 5055 + Width = 4935 End - Begin VB.Label Label13 + Begin VB.Label Label13 Caption = "User Name:" Height = 255 Left = 120 @@ -273,15 +284,15 @@ Top = 240 Width = 1335 End - Begin VB.Label Label11 - Caption = "Request Code:" + Begin VB.Label Label11 + Caption = "Installation Code:" Height = 255 Left = 120 TabIndex = 18 Top = 600 Width = 1335 End - Begin VB.Label Label4 + Begin VB.Label Label4 Caption = "Liberation Key:" Height = 255 Left = 120 @@ -290,14 +301,14 @@ Width = 1335 End End - Begin VB.Frame fraRegStatus + Begin VB.Frame fraRegStatus Caption = "Status" Height = 2055 Left = 120 TabIndex = 4 Top = 420 Width = 7695 - Begin VB.TextBox txtChecksum + Begin VB.TextBox txtChecksum BackColor = &H80000013& Height = 285 Left = 1560 @@ -306,7 +317,7 @@ Top = 1680 Width = 4335 End - Begin VB.TextBox txtVersion + Begin VB.TextBox txtVersion BackColor = &H80000013& Height = 285 Left = 1560 @@ -316,7 +327,7 @@ Top = 480 Width = 4335 End - Begin VB.TextBox txtName + Begin VB.TextBox txtName BackColor = &H80000013& Height = 285 Left = 1560 @@ -326,7 +337,7 @@ Top = 240 Width = 4335 End - Begin VB.TextBox txtExpiration + Begin VB.TextBox txtExpiration BackColor = &H80000013& Height = 285 Left = 1560 @@ -335,7 +346,7 @@ Top = 1320 Width = 4335 End - Begin VB.TextBox txtUsedDays + Begin VB.TextBox txtUsedDays BackColor = &H80000013& Height = 285 Left = 1560 @@ -344,7 +355,7 @@ Top = 1080 Width = 4335 End - Begin VB.TextBox txtRegStatus + Begin VB.TextBox txtRegStatus BackColor = &H80000013& Height = 285 Left = 1560 @@ -353,7 +364,7 @@ Top = 840 Width = 4335 End - Begin VB.Label Label3 + Begin VB.Label Label3 Caption = "DLL Checksum:" Height = 255 Left = 120 @@ -361,7 +372,7 @@ Top = 1680 Width = 1335 End - Begin VB.Label Label2 + Begin VB.Label Label2 Caption = "App Version:" Height = 255 Left = 120 @@ -369,7 +380,7 @@ Top = 480 Width = 975 End - Begin VB.Label Label1 + Begin VB.Label Label1 Caption = "App Name:" Height = 255 Left = 120 @@ -377,7 +388,7 @@ Top = 240 Width = 975 End - Begin VB.Label Label8 + Begin VB.Label Label8 Caption = "Expiry Date:" Height = 255 Left = 120 @@ -385,7 +396,7 @@ Top = 1320 Width = 975 End - Begin VB.Label Label7 + Begin VB.Label Label7 Caption = "Days Used:" Height = 255 Left = 120 @@ -393,7 +404,7 @@ Top = 1080 Width = 975 End - Begin VB.Label Label6 + Begin VB.Label Label6 Caption = "Registered:" Height = 255 Left = 120 @@ -402,9 +413,9 @@ Width = 975 End End - Begin VB.Label lblLockStatus2 + Begin VB.Label lblLockStatus2 Caption = "Disabled" - BeginProperty Font + BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 @@ -419,7 +430,7 @@ Top = 480 Width = 975 End - Begin VB.Label lblLockStatus + Begin VB.Label lblLockStatus Caption = "Application Functionalities Are Currently: " Height = 375 Left = -74880 @@ -496,6 +507,9 @@ ' by ALUGEN. ' 10.13.03 - th2tran - Added simple Encrypt routine to illustrate handling of ' ActiveLockEventNotifier.ValidateValue() event. +' 11.02.03 - th2tran - Store message box messages in encrypted format to elude hex editors. +' - txtLibKeyIn is now MultiLine-enabled +' - Terminology change: RequestCode is now known as InstallationCode ' /////////////////////////////////////////////////////////////////////// ' / MODULE CODE BEGINS BELOW THIS LINE / ' /////////////////////////////////////////////////////////////////////// @@ -520,7 +534,7 @@ .SoftwareCode = PUB_KEY .LockType = lockHD End With - + ' Verify AL's authenticity ' VerifyActiveLockdll requires a public-creatable object to be passed in so that it can ' determine the Type Library DLL on which to perform the checksum. @@ -530,7 +544,7 @@ #If AL_DEBUG <> 1 Then txtChecksum = modMain.VerifyActiveLockdll(New ActiveLock2.Globals) #End If - + ' Initialize the keystore. We use a File keystore in this case. MyActiveLock.KeyStoreType = alsFile MyActiveLock.KeyStorePath = App.Path & "\al.lic" @@ -548,7 +562,7 @@ End With txtVersion = App.Major & "." & App.Minor & "." & App.Revision cboSpeed = cboSpeed.List(2) - + 'These MUST to be set BEFORE you generate the reg code 'or the app will fail to register properly on the next run 'I am going to add lots of comments here so that people @@ -557,7 +571,7 @@ '****************************************************************** '* Don't Forget This!!!!!!!! * '****************************************************************** - + ' Check registration status On Error GoTo NotRegistered MyActiveLock.Acquire @@ -568,7 +582,7 @@ Exit Sub NotRegistered: MsgBox Err.Number & ": " & Err.Description - txtRegStatus = "Not Registered" + txtRegStatus = modMain.Dec("35A.4C5.4FC.160.386.457.46D.483.4F1.4FC.457.4E6.457.44C") ' "Not Registered" End Sub @@ -616,7 +630,7 @@ On Error GoTo errHandler ' Register this key MyActiveLock.Register txtLibKeyIn - MsgBox "Registration successful!" + MsgBox modMain.Dec("386.457.46D.483.4F1.4FC.4E6.42B.4FC.483.4C5.4BA.160.4F1.507.441.441.457.4F1.4F1.462.507.4A4.16B") ' "Registration successful!" Exit Sub errHandler: MsgBox Err.Number & ": " & Err.Description Index: modMain.bas =================================================================== RCS file: /cvsroot/activelock/activelock/examples/example1/modMain.bas,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- modMain.bas 13 Oct 2003 07:45:31 -0000 1.6 +++ modMain.bas 4 Nov 2003 07:49:29 -0000 1.7 @@ -56,6 +56,7 @@ ' 09.21.03 - th2tran - Dumped PRIV_KEY. PRIV_KEY should only be accessible to ALUGEN. ' 10.13.03 - th2tran - Copied a small number of functions from modActiveLock.bas into here ' so that our test app doesn't need to depend on modActiveLock. +' 11.02.03 - th2tran - Added simple encrypt/decrypt routines to be used by frmMain ' </pre> '* /////////////////////////////////////////////////////////////////////// @@ -273,7 +274,7 @@ ' that you generate your own set of keys to use before deploying your app. 'Public Const PRIV_KEY$ = "???" Public Const PUB_KEY$ = "AAAAB3NzaC1yc2EAAAABJQAAAIBmyH+sZ9eXI33MbVFWR85fsHLXndX2WaNokSaqxYltluQx2sX4T81r7jazTFxcczllwuMEauhL1rTqXCma0uA6xAQGajRorXeLcrW5OHIut7+HprXy9MTUp0SwsVFJJjDaRmodPaCBTUPD006lG7LNN5/jO/Cj8dNf6lVHy+VnIQ==" - + 'Commented out Encrypt() for now. Have to think about using some other means, ' because PRIV_KEY is no longer accessible to us. 'Public Function Encrypt(strData As String) As String @@ -309,16 +310,47 @@ crc = CRCCheckSumTypeLib(obj) Debug.Print "Hash: " & crc If crc <> Value Then - MsgBox "activelock2.dll has been corrupted. If you were running a real application, it should terminate at this point." + ' Encrypted version of "activelock2.dll has been corrupted. If you were running a real application, it should terminate at this point." + MsgBox Dec("42B.441.4FC.483.512.457.4A4.4C5.441.499.226.1FA.44C.4A4.4A4.160.478.42B.4F1.160.436.457.457.4BA.160.441.4C5.4E6.4E6.507.4D0.4FC.457.44C.1FA.160.160.323.462.160.533.4C5.507.160.51D.457.4E6.457.160.4E6.507.4BA.4BA.483.4BA.46D.160.42B.160.4E6.457.42B.4A4.160.42B.4D0.4D0.4A4.483.441.42B.4FC.483.4C5.4BA.1E4.160.483.4FC.160.4F1.478.4C5.507.4A4.44C.160.4FC.457.4E6.4AF.483.4BA.42B.4FC.457.160.42B.4FC.160.4FC.478.483.4F1.160.4D0.4C5.483.4BA.4FC.1FA") End If VerifyActiveLockdll = CStr(crc) End Function '' +' Simple encrypt of a string +Public Function Enc(strData As String) As String + Dim i&, n& + Dim sResult$ + n = Len(strData) + Dim l As Long + For i = 1 To n + l = Asc(Mid$(strData, i, 1)) * 11 + If sResult = "" Then + sResult = Hex(l) + Else + sResult = sResult & "." & Hex(l) + End If + Next i + Enc = sResult +End Function + +Public Function Dec(strData As String) As String + Dim arr() As String + arr = Split(strData, ".") + Dim sRes As String + Dim i& + For i = LBound(arr) To UBound(arr) + sRes = sRes & Chr$(CLng("&h" & arr(i)) / 11) + Next + Dec = sRes +End Function + + +'' ' Returns the expected CRC value of ActiveLock2.dll ' Private Property Get Value() As Long - Value = 176794 + 1856 ' 178650 - computed so that it can't be easily spotted via a Hex Editor + Value = 121711 + 8516 ' compute it so that it can't be easily spotted via a Hex Editor End Property '' |
From: Thanh H. T. <th...@us...> - 2003-11-04 07:43:18
|
Update of /cvsroot/activelock/activelock/src In directory sc8-pr-cvs1:/tmp/cvs-serv8514 Modified Files: IActiveLock.cls ProductLicense.cls Log Message: Fixed vbdox bugs Index: IActiveLock.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/IActiveLock.cls,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- IActiveLock.cls 3 Nov 2003 06:30:42 -0000 1.4 +++ IActiveLock.cls 4 Nov 2003 07:43:15 -0000 1.5 @@ -87,12 +87,12 @@ ' ' if there were problems (such as activelock2.dll having been tampered). ' ' ' Verify AL's authenticity -' ' modActiveLock.CRCCheckSumTypeLib() requires a public-creatable object to be passed in so that it can -' ' determine the Type Library DLL on which to perform the checksum. +' ' modActiveLock.CRCCheckSumTypeLib() requires a public-creatable object to be passed in +' ' so that it can determine the Type Library DLL on which to perform the checksum. ' ' So can't use MyActiveLock object to authenticate since it is not a public creatable object. ' ' So we'll use ActiveLock2.Globals, which is just as good because they are in the same DLL. ' Dim crc As Long -' crc = CRCCheckSumTypeLib(New ActiveLock2.Globals) ' See below for CRCCheckSumTypeLib() implementation +' crc = CRCCheckSumTypeLib(New ActiveLock2.Globals) ' Debug.Print "Hash: " & crc ' If crc <> AL_CRC Then ' MsgBox "ActiveLock2.dll has been corrupted." @@ -232,10 +232,10 @@ ' License Lock Types. Values can be combined (OR'ed) together. ' ' @param lockNone No locking - not recommended -' @param lockWindows Lock to windows serial number +' @param lockWindows Lock to Windows serial number ' @param lockComp Lock to computer name -' @param lockHD Lock to hard drive serial -' @param lockMAC Lock to network NIC address +' @param lockHD Lock to hard drive serial number +' @param lockMAC Lock to Network Interface Card address Public Enum ALLockTypes lockNone = 0 lockWindows = 1 @@ -329,7 +329,7 @@ '' ' Specifies the key store path. -' @param Path The path to be used for the specified KeyStoreType. +' @param sPath The path to be used for the specified KeyStoreType. ' e.g. If <a href="IActiveLock.LicStoreType.html">alsFile</a> is used for <a href="IActiveLock.Let.KeyStoreType.html">KeyStoreType</a>, ' then <code>Path</code> specifies the path to the license file. ' If <a href="IActiveLock.LicStoreType.html">alsRegistry</a> is used for <a href="IActiveLock.Let.KeyStoreType.htm">KeyStoreType</a>, @@ -385,7 +385,7 @@ ' and <a href="IActiveLock.Register.html">Register()</a> requires <code>Init()</code> to be called first. ' This routine accepts varying number of parameters. ' Note: If you're accessing IActiveLock via <a href="Globals.NewInstance.html">ActiveLock2.NewInstance()</a>, -' then Init() would already been called for you, so you don't need to call it again. +' then Init() would already have been called for you, so you don't need to call it again. ' ' @param Arg1 First parameter to be passed to this routine. ' @param OtherArgs The remaining array of arguments to be passed into this routine. Index: ProductLicense.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/ProductLicense.cls,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ProductLicense.cls 3 Nov 2003 06:30:42 -0000 1.4 +++ ProductLicense.cls 4 Nov 2003 07:43:15 -0000 1.5 @@ -129,6 +129,7 @@ '' ' Returns the License Type being used in this instance. +' @return License Type ' Public Property Get LicenseType() As ALLicType Attribute LicenseType.VB_Description = "License Type" @@ -207,14 +208,15 @@ ' [INTERNAL] Specifies the licensed user. ' <p>!!! WARNING !!! Make sure you know what you're doing when you call this method; otherwise, you run ' the risk of invalidating your existing license. +' @param Name Name of the licensed user ' -Public Property Let Licensee(ByVal name As String) +Public Property Let Licensee(ByVal Name As String) mstrLicensee = name End Property '' ' Returns the person or organization registered to this license. -' @return Registered User +' @return Name of the licensed user ' Public Property Get Licensee() As String Attribute Licensee.VB_Description = "Person or organization registered to this license." @@ -274,6 +276,9 @@ mstrRegisteredDate = strDate End Property +'' +' Returns maximum number of concurrent users +' @return Max. User Count Public Property Get MaxCount() As Long MaxCount = mnMaxCount End Property @@ -317,7 +322,7 @@ '' -' Returns a line-feed delimited string encoding of this object's properties +' Returns a line-feed delimited string encoding of this object's properties. ' Note: LicenseKey is not included in this string. ' @return License String ' |
From: Thanh H. T. <th...@us...> - 2003-11-04 07:41:22
|
Update of /cvsroot/activelock/activelock/src In directory sc8-pr-cvs1:/tmp/cvs-serv8226 Modified Files: ActiveLock.cls Globals.cls Log Message: - Added ActiveLockErrCodeConstants.alerrNotImplemented - corrected some vbdox errors Index: ActiveLock.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/ActiveLock.cls,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- ActiveLock.cls 3 Nov 2003 07:25:06 -0000 1.7 +++ ActiveLock.cls 4 Nov 2003 07:41:19 -0000 1.8 @@ -83,6 +83,7 @@ ' 10.13.03 - th2tran - Fixed bug: If ValidateValue event was not handled by the client, then we ended up ' hashing an empty string. ' 11.02.03 - th2tran - alcrypto.dll now resides in the Windows System directory +' - IActiveLock_Transfer raise alerrNotImplemented error until we get this implemented ' </pre> ' /////////////////////////////////////////////////////////////////////// @@ -404,6 +405,7 @@ Private Function IActiveLock_Transfer(OtherSoftwareCode As String) As String ' TODO: Implement me! + Err.Raise ActiveLockErrCodeConstants.alerrNotImplemented, "IActiveLock_Transfer", "Operation not implemented" End Function Private Property Get IActiveLock_UsedDays() As Long Index: Globals.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/Globals.cls,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Globals.cls 3 Nov 2003 06:30:42 -0000 1.3 +++ Globals.cls 4 Nov 2003 07:41:19 -0000 1.4 @@ -74,6 +74,7 @@ ' 08.03.03 - th2tran - VBDox'ed this class. ' 10.13.03 - th2tran - Corrections to ActiveLockErrCodeConstants vbdox errors. ' - Added VB descriptions for VB Object Browser's sake. +' 11.02.03 - th2tran - Added ActiveLockErrCodeConstants.alerrNotImplemented ' </pre> ' /////////////////////////////////////////////////////////////////////// ' / MODULE CODE BEGINS BELOW THIS LINE / @@ -93,6 +94,7 @@ ' @param alerrKeyStoreInvalid Key Store Provider has not been initialized yet. ' @param alerrFileTampered ActiveLock DLL file has been tampered. ' @param alerrNotInitialized ActiveLock has not been initialized yet. +' @param alerrNotImplemented An ActiveLock operation has not been implemented. Public Enum ActiveLockErrCodeConstants alerrOK = 0 ' successful alerrNoLicense = &H80040001 ' vbObjectError (&H80040000) + 1 @@ -103,6 +105,7 @@ alerrKeyStoreInvalid = &H80040010 alerrFileTampered = &H80040011 alerrNotInitialized = &H80040012 + alerrNotImplemented = &H80040013 End Enum '' @@ -128,13 +131,14 @@ ' @param Name Product/Software Name ' @param Code Product/Software Code ' @param Ver Product version -' @param Licclass License class +' @param Flags License Flags ' @param LicType License type ' @param Licensee Registered party for which the license has been issued ' @param Expiration Expiration date ' @param LicKey License key ' @param RegisteredDate Date on which the product is registered ' @param Hash1 Hash-1 code +' @param MaxUsers Maximum number of users allowed to use this license ' ' @return License object. Public Function CreateProductLicense(ByVal Name As String, _ @@ -151,14 +155,14 @@ ) As ProductLicense Dim NewLic As New ProductLicense With NewLic - .ProductName = Name + .ProductName = name .ProductKey = Code .ProductVer = Ver .LicenseClass = GetClassString(Flags) .LicenseType = LicType .Licensee = Licensee .MaxCount = MaxUsers - ' ignore exipration date if license type is "permanent" + ' ignore expiration date if license type is "permanent" If LicType <> allicPermanent Then .Expiration = Expiration End If |
From: Thanh H. T. <th...@sy...> - 2003-11-03 23:14:03
|
Hey Mike, I thought we agreed not to keep the generated API docs in CVS. It can get out-of-date really fast. - Thanh |
From: Thanh H. T. <th...@us...> - 2003-11-03 07:34:41
|
Update of /cvsroot/activelock/activelock In directory sc8-pr-cvs1:/tmp/cvs-serv5304 Modified Files: build.bat Log Message: Added compile-examples build target Index: build.bat =================================================================== RCS file: /cvsroot/activelock/activelock/build.bat,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- build.bat 13 Oct 2003 08:59:20 -0000 1.3 +++ build.bat 3 Nov 2003 07:34:38 -0000 1.4 @@ -33,6 +33,7 @@ rem - all (default) rem - skip-activelock (same as all except activelock2.dll will not be recompiled) rem - compile-activelock +rem - compile-examples rem - docs rem - installer rem Examples: @@ -48,6 +49,7 @@ if "%1" == "installer" goto installer if "%1" == "docs" goto docs if "%1" == "compile-activelock" goto compile-activelock +if "%1" == "compile-examples" goto compile-examples rem ========================================================================================= rem Compile ActiveLock Libraries @@ -96,10 +98,11 @@ if errorlevel == 1 goto error rem move ..\alugen\app\alugen.exe bin\ +:compile-examples echo Compiling Examples vb6.exe /make examples\example1\ALTestApp.vbp /out build.log if errorlevel == 1 goto error - +if "%1" == "compile-examples" goto done if "%1" == "compile-all" goto done rem ========================================================================================= |
From: Thanh H. T. <th...@us...> - 2003-11-03 07:25:09
|
Update of /cvsroot/activelock/activelock/src In directory sc8-pr-cvs1:/tmp/cvs-serv4051 Modified Files: ActiveLock.cls modWinApi.bas Log Message: alcrypto.dll is now expected to be in the winsys directory. Index: ActiveLock.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/ActiveLock.cls,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ActiveLock.cls 3 Nov 2003 06:30:42 -0000 1.6 +++ ActiveLock.cls 3 Nov 2003 07:25:06 -0000 1.7 @@ -82,6 +82,7 @@ ' but not so OK when multiple apps are involved. ' 10.13.03 - th2tran - Fixed bug: If ValidateValue event was not handled by the client, then we ended up ' hashing an empty string. +' 11.02.03 - th2tran - alcrypto.dll now resides in the Windows System directory ' </pre> ' /////////////////////////////////////////////////////////////////////// @@ -127,7 +128,7 @@ ' Checksum ALCrypto.dll Const ALCRYPTO_MD5$ = "1941fefd79fed9403e24f3d7fd76ae13" Dim strdata As String, strMD5 As String - Call modActiveLock.ReadFile(WinDir() & "\alcrypto.dll", strdata) + Call modActiveLock.ReadFile(WinSysDir() & "\alcrypto.dll", strdata) strMD5 = modMD5.Hash(strdata) ' use our own MD5 hashing routine instead of ALCrypto's md5_hash() function. Debug.Print "ALCrypto Hash: " & strMD5 If strMD5 <> ALCRYPTO_MD5 Then Index: modWinApi.bas =================================================================== RCS file: /cvsroot/activelock/activelock/src/modWinApi.bas,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- modWinApi.bas 6 Oct 2003 05:09:29 -0000 1.2 +++ modWinApi.bas 3 Nov 2003 07:25:06 -0000 1.3 @@ -54,6 +54,7 @@ ' ' 07.07.03 - mecrute - Updated the header comments for this file. ' 10.06.03 - th2tran - Added WinDir() +' 11.02.03 - th2tran - Added WinSysDir() ' ' ' /////////////////////////////////////////////////////////////////////// @@ -76,6 +77,10 @@ Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, _ ByVal nSize As Long) As Long +Public Declare Function GetSystemDirectory Lib "kernel32.dll" Alias "GetSystemDirectoryA" _ + (ByVal lpBuffer As String, ByVal nSize As Long) As Long + + '' ' Retrieves the error text for the specified Windows error code ' @@ -103,5 +108,17 @@ Length = GeneralWinDirApi(Buffer, FIX_LENGTH - 1) WinDir = Left$(Buffer, Length) +End Function + +'' +' Gets the system directory +' +Public Function WinSysDir() As String + Const FIX_LENGTH% = 4096 + Dim Length As Integer + Dim Buffer As String * FIX_LENGTH + + Length = GetSystemDirectory(Buffer, FIX_LENGTH - 1) + WinSysDir = Left$(Buffer, Length) End Function |
From: Thanh H. T. <th...@us...> - 2003-11-03 07:09:16
|
Update of /cvsroot/activelock/activelock/bin In directory sc8-pr-cvs1:/tmp/cvs-serv1619 Modified Files: activelock2.dll Log Message: IActiveLock interface compatibility with 2.0.3 has been broken due to some crucial changes Index: activelock2.dll =================================================================== RCS file: /cvsroot/activelock/activelock/bin/activelock2.dll,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 Binary files /tmp/cvsH0A1Kk and /tmp/cvsMedpWw differ |
From: Thanh H. T. <th...@us...> - 2003-11-03 07:04:18
|
Update of /cvsroot/activelock/alugen/lib In directory sc8-pr-cvs1:/tmp/cvs-serv1003 Modified Files: IALUGenerator.cls Log Message: Yikes! Syntax error!!! Index: IALUGenerator.cls =================================================================== RCS file: /cvsroot/activelock/alugen/lib/IALUGenerator.cls,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- IALUGenerator.cls 3 Nov 2003 06:40:45 -0000 1.4 +++ IALUGenerator.cls 3 Nov 2003 07:04:16 -0000 1.5 @@ -69,9 +69,9 @@ ' GenKey(objActiveLock As IActiveLock, ByVal ReqCode As String, ExpireDate As String) ' 10.13.03 - th2tran - Renamed Code1 and Code2 to VCode and GCode respectively. ' 11.02.03 - th2tran - GenKey interface changed (again) from - GenKey(objActiveLock As IActiveLock, ByVal ReqCode As String, ExpireDate As String) As String - to - GenKey(Lic As ActiveLock2.ProductLicense, ByVal InstCode As String) As String +' GenKey(objActiveLock As IActiveLock, ByVal ReqCode As String, ExpireDate As String) As String +' to +' GenKey(Lic As ActiveLock2.ProductLicense, ByVal InstCode As String) As String ' </pre> ' /////////////////////////////////////////////////////////////////////// |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:48:43
|
Update of /cvsroot/activelock/alugen/app In directory sc8-pr-cvs1:/tmp/cvs-serv31013 Modified Files: ALUGEN.vbp frmMain.frm frmMain.frx Log Message: 2.0.4 IALUGenerator interface changed. See module change logs for more details. Index: ALUGEN.vbp =================================================================== RCS file: /cvsroot/activelock/alugen/app/ALUGEN.vbp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ALUGEN.vbp 13 Oct 2003 07:23:51 -0000 1.3 +++ ALUGEN.vbp 3 Nov 2003 06:48:40 -0000 1.4 @@ -1,7 +1,7 @@ Type=Exe Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#stdole2.tlb#OLE Automation -Reference=*\G{9ED8E727-A621-485F-B922-A7C4908A3BF2}#1.0#0#..\lib\alugen.dll#ActiveLock Universal Generator Library -Reference=*\G{C3B56087-6690-42ED-8914-633AA166AB41}#1.0#0#..\..\activelock\bin\activelock2.dll#ActiveLock2 +Reference=*\G{C3B56087-6690-42ED-8914-633AA166AB41}#1.0#0#..\..\activelock\src\activelock2.dll#ActiveLock2 +Reference=*\G{F638FCF2-8DFD-47F0-B77A-2799D2310A82}#1.0#0#..\lib\alugen.dll#ActiveLock Universal GENerator Library 2.0 Object={5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0; MSFLXGRD.OCX Object={BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0; TABCTL32.OCX Form=frmMain.frm @@ -18,7 +18,7 @@ CompatibleMode="1" MajorVer=2 MinorVer=0 -RevisionVer=3 +RevisionVer=4 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="The ActiveLock Software Group" Index: frmMain.frm =================================================================== RCS file: /cvsroot/activelock/alugen/app/frmMain.frm,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- frmMain.frm 13 Oct 2003 07:23:51 -0000 1.3 +++ frmMain.frm 3 Nov 2003 06:48:40 -0000 1.4 @@ -1,7 +1,7 @@ VERSION 5.00 Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX" Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX" -Begin VB.Form frmMain +Begin VB.Form frmMain Appearance = 0 'Flat BorderStyle = 3 'Fixed Dialog Caption = "ActiveLock Universal GENerator" @@ -16,7 +16,7 @@ ScaleHeight = 5685 ScaleWidth = 9735 StartUpPosition = 3 'Windows Default - Begin TabDlg.SSTab SSTab1 + Begin TabDlg.SSTab SSTab1 Height = 5655 Left = 0 TabIndex = 0 @@ -42,11 +42,11 @@ TabCaption(1) = "&License Key Generator" TabPicture(1) = "frmMain.frx":0CE6 Tab(1).ControlEnabled= 0 'False - Tab(1).Control(0)= "Label8" + Tab(1).Control(0)= "cmbProds" Tab(1).Control(1)= "frmKeyGen" - Tab(1).Control(2)= "cmbProds" + Tab(1).Control(2)= "Label8" Tab(1).ControlCount= 3 - Begin VB.CommandButton cmdRemove + Begin VB.CommandButton cmdRemove Caption = "&Remove" Enabled = 0 'False Height = 315 @@ -55,62 +55,52 @@ Top = 3000 Width = 1000 End - Begin VB.ComboBox cmbProds + Begin VB.ComboBox cmbProds Height = 315 - Left = -73680 + Left = -73560 Style = 2 'Dropdown List TabIndex = 15 Top = 480 Width = 3615 End - Begin VB.Frame frmKeyGen + Begin VB.Frame frmKeyGen BorderStyle = 0 'None Height = 4215 Left = -74880 TabIndex = 13 Top = 960 - Width = 9375 - Begin VB.ComboBox cmbLicClass + Width = 9495 + Begin VB.ComboBox cmbLicType Height = 315 ItemData = "frmMain.frx":0D02 - Left = 1200 - List = "frmMain.frx":0D12 - Style = 2 'Dropdown List - TabIndex = 21 - Top = 585 - Width = 3615 - End - Begin VB.ComboBox cmbLicType - Height = 315 - ItemData = "frmMain.frx":0D95 - Left = 1200 - List = "frmMain.frx":0DA2 + Left = 1320 + List = "frmMain.frx":0D0F Style = 2 'Dropdown List TabIndex = 17 Top = 0 Width = 3615 End - Begin VB.TextBox txtDays + Begin VB.TextBox txtDays Alignment = 1 'Right Justify BackColor = &H8000000F& Height = 315 - Left = 1200 + Left = 1320 Locked = -1 'True TabIndex = 19 Text = "30" Top = 285 Width = 1215 End - Begin VB.TextBox txtReqCodeIn + Begin VB.TextBox txtReqCodeIn Height = 315 - Left = 1200 - TabIndex = 23 - Top = 960 + Left = 1320 + TabIndex = 21 + Top = 600 Width = 7095 End - Begin VB.TextBox txtLibKey + Begin VB.TextBox txtLibKey BackColor = &H80000011& - BeginProperty Font + BeginProperty Font Name = "Courier New" Size = 8.25 Charset = 0 @@ -119,27 +109,27 @@ Italic = 0 'False Strikethrough = 0 'False EndProperty - Height = 2475 - Left = 1200 + Height = 3195 + Left = 1320 Locked = -1 'True MultiLine = -1 'True ScrollBars = 2 'Vertical - TabIndex = 25 - Text = "frmMain.frx":0DC8 - Top = 1320 + TabIndex = 23 + Text = "frmMain.frx":0D35 + Top = 960 Width = 7095 End - Begin VB.CommandButton cmdKeyGen + Begin VB.CommandButton cmdKeyGen Caption = "Genera&te" Enabled = 0 'False Height = 315 - Left = 8400 - TabIndex = 26 + Left = 8520 + TabIndex = 24 ToolTipText = "Generate liberation key for the above request code (which should not be blank)." - Top = 1320 + Top = 960 Width = 975 End - Begin VB.Label lblExpiry + Begin VB.Label lblExpiry Caption = "&Expires After:" Height = 255 Left = 0 @@ -147,15 +137,7 @@ Top = 285 Width = 1335 End - Begin VB.Label Label5 - Caption = "License &Class:" - Height = 255 - Left = 0 - TabIndex = 20 - Top = 585 - Width = 1335 - End - Begin VB.Label Label6 + Begin VB.Label Label6 Caption = "License &Type:" Height = 255 Left = 0 @@ -163,38 +145,38 @@ Top = 0 Width = 1335 End - Begin VB.Label Label7 - Caption = "Request C&ode:" + Begin VB.Label Label7 + Caption = "Installation C&ode:" Height = 255 Left = 0 - TabIndex = 22 - Top = 960 + TabIndex = 20 + Top = 600 Width = 1335 End - Begin VB.Label Label12 + Begin VB.Label Label12 Caption = "Liberation &Key:" Height = 255 Left = 0 - TabIndex = 24 - Top = 1320 + TabIndex = 22 + Top = 960 Width = 1335 End - Begin VB.Label lblDays + Begin VB.Label lblDays Caption = "days" Height = 255 - Left = 2520 - TabIndex = 27 + Left = 2640 + TabIndex = 25 Top = 315 Width = 1335 End End - Begin VB.Frame fraProdNew + Begin VB.Frame fraProdNew Height = 2055 Left = 120 TabIndex = 12 Top = 360 Width = 9495 - Begin VB.CommandButton cmdCodeGen + Begin VB.CommandButton cmdCodeGen Caption = "&Generate" Enabled = 0 'False Height = 315 @@ -203,7 +185,7 @@ Top = 1320 Width = 1000 End - Begin VB.TextBox txtCode2 + Begin VB.TextBox txtCode2 BackColor = &H8000000F& Height = 315 Left = 5040 @@ -212,7 +194,7 @@ Top = 1320 Width = 3345 End - Begin VB.TextBox txtCode1 + Begin VB.TextBox txtCode1 BackColor = &H8000000F& Height = 315 Left = 1320 @@ -222,21 +204,21 @@ Top = 1320 Width = 3705 End - Begin VB.TextBox txtName + Begin VB.TextBox txtName Height = 315 Left = 1320 TabIndex = 2 Top = 360 Width = 3705 End - Begin VB.TextBox txtVer + Begin VB.TextBox txtVer Height = 315 Left = 1320 TabIndex = 4 Top = 720 Width = 1545 End - Begin VB.CommandButton cmdAdd + Begin VB.CommandButton cmdAdd Caption = "&Add To Product List" Enabled = 0 'False Height = 315 @@ -245,23 +227,23 @@ Top = 1680 Width = 1845 End - Begin VB.Label Label10 + Begin VB.Label Label10 Caption = "GCode" Height = 255 Left = 5040 - TabIndex = 30 + TabIndex = 28 Top = 1080 Width = 1695 End - Begin VB.Label Label9 + Begin VB.Label Label9 Caption = "VCode" Height = 255 Left = 1320 - TabIndex = 29 + TabIndex = 27 Top = 1080 Width = 1695 End - Begin VB.Label Label4 + Begin VB.Label Label4 Caption = "&Code:" Height = 375 Left = 120 @@ -269,7 +251,7 @@ Top = 1320 Width = 1095 End - Begin VB.Label Label2 + Begin VB.Label Label2 Caption = "&Name:" Height = 375 Left = 120 @@ -277,7 +259,7 @@ Top = 360 Width = 975 End - Begin VB.Label Label3 + Begin VB.Label Label3 Caption = "&Version:" Height = 375 Left = 120 @@ -286,7 +268,7 @@ Width = 1095 End End - Begin MSFlexGridLib.MSFlexGrid gridProds + Begin MSFlexGridLib.MSFlexGrid gridProds Height = 2775 Left = 120 TabIndex = 10 @@ -308,17 +290,17 @@ ScrollBars = 2 SelectionMode = 1 Appearance = 0 - FormatString = $"frmMain.frx":0E0B + FormatString = $"frmMain.frx":0D78 End - Begin VB.Label Label1 + Begin VB.Label Label1 Caption = "&Product List:" Height = 255 Left = 120 - TabIndex = 28 + TabIndex = 26 Top = 2520 Width = 1215 End - Begin VB.Label Label8 + Begin VB.Label Label8 Caption = "&Product:" Height = 255 Left = -74880 @@ -395,6 +377,8 @@ ' - Don't process button click when not in the right tab. ' e.g. when in Key Generator tab and accessor key for cmdRemove is pressed, ' just ignore the event. +' 11.02.03 - th2tran - Removed License Class from ALUGEN. This setting was totally unnecessary. +' - Reworked KeyGen logic a bit, due to IALUGenerator_GenKey() change. ' </pre> ' /////////////////////////////////////////////////////////////////////// @@ -419,47 +403,24 @@ Debug.Print "gridProds_CellDataChanged" End Sub -Private Sub cmbLicClass_Click() - If cmbLicClass = "Class 1 - Lock To MAC" Then - ActiveLock.LockType = lockMAC - ElseIf cmbLicClass = "Class 2 - Lock To Windows Serial" Then - ActiveLock.LockType = lockWindows - ElseIf cmbLicClass = "Class 3 - Lock To Computer Name" Then - ActiveLock.LockType = lockComp - ElseIf cmbLicClass = "Class 4 - Lock To Hard Drive Serial" Then - ActiveLock.LockType = lockHD - End If -End Sub - Private Sub cmbLicType_Click() - With ActiveLock - If cmbLicType = "Periodic" Then - .LicenseType = allicPeriodic - ElseIf cmbLicType = "Permanent" Then - .LicenseType = allicPermanent - ElseIf cmbLicType = "Time Locked" Then - .LicenseType = allicTimeLocked - Else - .LicenseType = allicNone - End If - ' enable the days edit box - If cmbLicType = "Periodic" Or cmbLicType = "Time Locked" Then - txtDays.Locked = False - txtDays.BackColor = &H80000005 - Else - txtDays.Locked = True - txtDays.BackColor = &H80000011 - End If - If cmbLicType = "Time Locked" Then - lblExpiry = "&Expires on Date:" - txtDays = Format$(Now() + 30, "YYYY/MM/DD") - lblDays = "YYYY/MM/DD" - Else - lblExpiry = "&Expires after:" - txtDays = "30" - lblDays = "Day(s)" - End If - End With + ' enable the days edit box + If cmbLicType = "Periodic" Or cmbLicType = "Time Locked" Then + txtDays.Locked = False + txtDays.BackColor = &H80000005 + Else + txtDays.Locked = True + txtDays.BackColor = &H80000011 + End If + If cmbLicType = "Time Locked" Then + lblExpiry = "&Expires on Date:" + txtDays = Format$(Now() + 30, "YYYY/MM/DD") + lblDays = "YYYY/MM/DD" + Else + lblExpiry = "&Expires after:" + txtDays = "30" + lblDays = "Day(s)" + End If End Sub Private Sub cmbProds_Click() @@ -476,7 +437,7 @@ Private Sub cmdCodeGen_Click() If SSTab1.Tab <> 0 Then Exit Sub ' our tab not active - do nothing - + Screen.MousePointer = vbHourglass fDisableNotifications = True txtCode1 = "" @@ -499,7 +460,7 @@ Debug.Print "Public blob: " & strBlob txtCode1 = strBlob End If - + modALUGEN.rsa_private_key_blob Key, vbNullString, blobLen If blobLen > 0 Then strBlob = String(blobLen, 0) @@ -509,7 +470,7 @@ End If ' done with the key - throw it away modALUGEN.rsa_freekey Key - + ' Test generated key for correctness by recreating it from the blobs ' Note: ' ==== @@ -544,28 +505,51 @@ .SoftwareVersion = strVer End With + Dim varLicType As ActiveLock2.ALLicType + + If cmbLicType = "Periodic" Then + varLicType = allicPeriodic + ElseIf cmbLicType = "Permanent" Then + varLicType = allicPermanent + ElseIf cmbLicType = "Time Locked" Then + varLicType = allicTimeLocked + Else + varLicType = allicNone + End If + Dim strExpire$ strExpire = GetExpirationDate() + Dim Lic As ActiveLock2.ProductLicense +' Set Lic = ActiveLock2.CreateProductLicense(strName, "Code", strVer, alfSingle, varLicType, "Licensee", strExpire, "LicKey", "RegDate", "Hash1") + ' Create a product license object without the product key or license key + Dim strRegDate As String + strRegDate = Format(Now(), "yyyy/mm/dd") + Set Lic = ActiveLock2.CreateProductLicense(strName, strVer, "", alfSingle, varLicType, "", strExpire, , strRegDate) Dim strLibKey As String - strLibKey = GeneratorInstance.GenKey(ActiveLock, txtReqCodeIn, strExpire) + ' Pass it to IALUGenerator to generate the key + strLibKey = GeneratorInstance.GenKey(Lic, txtReqCodeIn) txtLibKey = Make64ByteChunks(strLibKey) + Screen.MousePointer = vbNormal + Exit Sub ErrHandler: + MsgBox "Error: " + Err.Description Screen.MousePointer = vbNormal End Sub + '' ' Breaks a long string into chunks of 64-byte lines. ' Private Function Make64ByteChunks(strData As String) As String - Dim I As Long + Dim i As Long Dim Count As Long Count = Len(strData) Dim sResult As String sResult = Left$(strData, 64) - I = 65 - While I <= Count - sResult = sResult & vbCrLf & Mid$(strData, I, 64) - I = I + 64 + i = 65 + While i <= Count + sResult = sResult & vbCrLf & Mid$(strData, i, 64) + i = i + 64 Wend Make64ByteChunks = sResult End Function @@ -584,7 +568,7 @@ Dim SelStart%, SelEnd% Dim fEnableAdd As Boolean fEnableAdd = False - + With gridProds If .Row < .RowSel Then SelStart = .Row @@ -593,17 +577,17 @@ SelStart = .RowSel SelEnd = .Row End If - Dim I% - For I = SelEnd To SelStart Step -1 - strName = .TextMatrix(I, 0) + Dim i% + For i = SelEnd To SelStart Step -1 + strName = .TextMatrix(i, 0) If txtName = strName Then fEnableAdd = True End If - RemoveRow I + RemoveRow i Next .RowSel = .Row ' negate current selections End With - + ' Enable Add button if we're removing the variable currently being edited. If fEnableAdd Then cmdAdd.Enabled = True @@ -778,10 +762,10 @@ ' Private Function CheckDuplicate(Name As String, Ver As String) As Boolean CheckDuplicate = False - Dim I% - For I = 0 To gridProds.Rows - 1 - If gridProds.TextMatrix(I, 0) = Name Then - If gridProds.TextMatrix(I, 1) = Ver Then + Dim i% + For i = 0 To gridProds.Rows - 1 + If gridProds.TextMatrix(i, 0) = Name Then + If gridProds.TextMatrix(i, 1) = Ver Then CheckDuplicate = True Exit Function End If @@ -795,7 +779,6 @@ Private Sub InitUI() ' Init Default license class cmbLicType = "Time Locked" - cmbLicClass = "Class 1 - Lock To MAC" With gridProds .Clear .Rows = 1 @@ -810,10 +793,10 @@ Dim arrProdInfos() As ProductInfo arrProdInfos = GeneratorInstance.RetrieveProducts() If IsArrayEmpty(arrProdInfos) Then Exit Sub - - Dim I% - For I = LBound(arrProdInfos) To UBound(arrProdInfos) - PopulateUI arrProdInfos(I) + + Dim i% + For i = LBound(arrProdInfos) To UBound(arrProdInfos) + PopulateUI arrProdInfos(i) Next gridProds_Click End Sub Index: frmMain.frx =================================================================== RCS file: /cvsroot/activelock/alugen/app/frmMain.frx,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 Binary files /tmp/cvscsecAK and /tmp/cvsMfuyXk differ |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:41:34
|
Update of /cvsroot/activelock/alugen/lib In directory sc8-pr-cvs1:/tmp/cvs-serv30239 Modified Files: ALUGENLib.vbp Log Message: Bumped version to 2.0.4 Index: ALUGENLib.vbp =================================================================== RCS file: /cvsroot/activelock/alugen/lib/ALUGENLib.vbp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ALUGENLib.vbp 13 Oct 2003 05:43:43 -0000 1.3 +++ ALUGENLib.vbp 3 Nov 2003 06:41:31 -0000 1.4 @@ -14,13 +14,13 @@ Command32="" Name="ALUGENLib" HelpContextID="0" -Description="ActiveLock Universal Generator Library" +Description="ActiveLock Universal GENerator Library 2.0" CompatibleMode="2" CompatibleEXE32="alugen.dll" VersionCompatible32="1" MajorVer=2 MinorVer=0 -RevisionVer=3 +RevisionVer=4 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="The ActiveLock Software Group" |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:40:49
|
Update of /cvsroot/activelock/alugen/lib In directory sc8-pr-cvs1:/tmp/cvs-serv30129 Modified Files: Generator.cls IALUGenerator.cls alugen.dll Log Message: Interface changed. Index: Generator.cls =================================================================== RCS file: /cvsroot/activelock/alugen/lib/Generator.cls,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Generator.cls 13 Oct 2003 05:43:43 -0000 1.3 +++ Generator.cls 3 Nov 2003 06:40:45 -0000 1.4 @@ -65,6 +65,7 @@ ' 09.21.03 - th2tran - Implemented IALUGenerator_RetrieveProduct() ' - Finished implementing IALUGenerator_GenKey() ' - Dumped ActiveLockEventNotifier. Don't neeed it here. +' 11.02.03 - th2tran - Re-implemented IALUGenerator_GenKey() - interface changed ' ' </pre> @@ -155,17 +156,18 @@ MyIniFile.File = RHS End Property -Private Function IALUGenerator_GenKey(ActiveLock As ActiveLock2.IActiveLock, ByVal ReqCode As String, ExpireDate As String) As String +Private Function IALUGenerator_GenKey(Lic As ActiveLock2.ProductLicense, ByVal InstCode As String) As String ' Take request code and decrypt it. Dim strReq As String - strReq = ActiveLock2.Base64Decode(ReqCode) - ' strReq now contains the {MAC + vbLf + User} string + strReq = ActiveLock2.Base64Decode(InstCode) + ' strReq now contains the {LockCode + vbLf + User} string Dim strLock$, strUser$ - GetLockAndUserFromRequestCode strReq, strLock, strUser - + GetLockAndUserFromInstallCode strReq, strLock, strUser + Lic.Licensee = strUser ' registration date Dim strRegDate As String - strRegDate = Format(Now(), "yyyy/mm/dd") + strRegDate = Lic.RegisteredDate + Dim strEncrypted As String ' @todo Rethink this bit about encrypting the dates. ' We need to keep in mind that the app does not have access to the private key, so and any decryption that requires private key @@ -175,26 +177,22 @@ ' hash it 'strEncrypted = ActiveLock2.MD5Hash(strEncrypted) strEncrypted = strRegDate - + ' get software codes Dim ProdInfo As ProductInfo - Set ProdInfo = IALUGenerator_RetrieveProduct(ActiveLock.SoftwareName, ActiveLock.SoftwareVersion) - + Set ProdInfo = IALUGenerator_RetrieveProduct(Lic.ProductName, Lic.ProductVer) + Lic.ProductKey = ProdInfo.VCode + '@todo Check for "ProdInfo Is Nothing" and handle appropriately - - Dim Lic As ProductLicense - With ActiveLock - Set Lic = ActiveLock2.CreateProductLicense(ProdInfo.Name, ProdInfo.VCode, _ - ProdInfo.Version, .LockType, .LicenseType, strUser, ExpireDate, , strRegDate, strEncrypted) - End With + Dim strLic As String - ' encrypt Product license using the MAC - strLic = MyActiveLock.LockCode(Lic) & vbLf & strLock + ' Encrypt Product license using the MAC + strLic = Lic.ToString() & vbLf & strLock Debug.Print "strLic: " & vbCrLf & strLic ' sign it - Dim strSig As String + Dim strSig As String: strSig = String(1024, 0) strSig = ActiveLock2.RSASign(ProdInfo.VCode, ProdInfo.GCode, strLic) - + ' Create liberation key. This will be a base-64 encoded string of the whole license. Dim strLicKey As String strLicKey = ActiveLock2.Base64Encode(strSig) @@ -208,7 +206,7 @@ Debug.Print "Sig: " & strSig Debug.Print "Verify: " & ActiveLock2.RSAVerify(ProdInfo.VCode, strLic, ActiveLock2.Base64Decode(strLicKey)) Debug.Print "====================================================" - + ' Serialize it into a formatted string Dim strLibKey As String Lic.Save strLibKey @@ -218,16 +216,16 @@ '' ' Retrieves lock string and user info from the request string ' -Private Sub GetLockAndUserFromRequestCode(ByVal strReq As String, ByRef strLock As String, ByRef strUser As String) +Private Sub GetLockAndUserFromInstallCode(ByVal strReq As String, ByRef strLock As String, ByRef strUser As String) Dim Index%, i - + For i = 1 To Len(strReq) If Mid(strReq, i, 1) = vbLf Then Index = i Next i - + Index = InStr(1, strReq, vbLf) If Index <= 0 Then Exit Sub - + strLock = Left(strReq, Index - 1) strUser = Mid$(strReq, Index + 1) strUser = TrimNulls(strUser) Index: IALUGenerator.cls =================================================================== RCS file: /cvsroot/activelock/alugen/lib/IALUGenerator.cls,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- IALUGenerator.cls 13 Oct 2003 05:43:43 -0000 1.3 +++ IALUGenerator.cls 3 Nov 2003 06:40:45 -0000 1.4 @@ -68,6 +68,10 @@ ' to ' GenKey(objActiveLock As IActiveLock, ByVal ReqCode As String, ExpireDate As String) ' 10.13.03 - th2tran - Renamed Code1 and Code2 to VCode and GCode respectively. +' 11.02.03 - th2tran - GenKey interface changed (again) from + GenKey(objActiveLock As IActiveLock, ByVal ReqCode As String, ExpireDate As String) As String + to + GenKey(Lic As ActiveLock2.ProductLicense, ByVal InstCode As String) As String ' </pre> ' /////////////////////////////////////////////////////////////////////// @@ -106,7 +110,7 @@ ' Public Function RetrieveProduct(ByVal Name As String, ByVal Ver As String) As ProductInfo Attribute RetrieveProduct.VB_Description = "Retrieves product information." - + End Function '' @@ -133,11 +137,10 @@ '' ' Generates liberation key for the specified product. ' -' @param objActiveLock ActiveLock object. Needed for software name, version, code, etc... -' @param ReqCode Key Request Code -' @param ExpireDate Expiration Date +' @param Lic License object for which to generate the liberation key. +' @param InstCode User installation code ' -Public Function GenKey(objActiveLock As IActiveLock, ByVal ReqCode As String, ExpireDate As String) As String +Public Function GenKey(Lic As ActiveLock2.ProductLicense, ByVal InstCode As String) As String Attribute GenKey.VB_Description = "Generates liberation key for the specified product." End Function Index: alugen.dll =================================================================== RCS file: /cvsroot/activelock/alugen/lib/alugen.dll,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 Binary files /tmp/cvsPIK0Jb and /tmp/cvs6kJZ3c differ |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:31:50
|
Update of /cvsroot/activelock/activelock/src In directory sc8-pr-cvs1:/tmp/cvs-serv29059 Modified Files: ActiveLock2.vbp Log Message: Bumped version to 2.0.4 Index: ActiveLock2.vbp =================================================================== RCS file: /cvsroot/activelock/activelock/src/ActiveLock2.vbp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- ActiveLock2.vbp 13 Oct 2003 04:49:03 -0000 1.4 +++ ActiveLock2.vbp 3 Nov 2003 06:31:47 -0000 1.5 @@ -26,12 +26,13 @@ Command32="" Name="ActiveLock2" HelpContextID="0" +Description="ActiveLock Object Library 2.0" CompatibleMode="2" CompatibleEXE32="..\bin\activelock2.dll" VersionCompatible32="1" MajorVer=2 MinorVer=0 -RevisionVer=3 +RevisionVer=4 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="The ActiveLock Software Group" |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:30:46
|
Update of /cvsroot/activelock/activelock/src In directory sc8-pr-cvs1:/tmp/cvs-serv28911 Modified Files: ActiveLock.cls FileKeyStore.cls Globals.cls IActiveLock.cls ProductLicense.cls Log Message: Batch commit. See Change Log within individual files for details. Index: ActiveLock.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/ActiveLock.cls,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- ActiveLock.cls 13 Oct 2003 04:49:03 -0000 1.5 +++ ActiveLock.cls 3 Nov 2003 06:30:42 -0000 1.6 @@ -98,7 +98,6 @@ Private mSoftwareVer As String Private mSoftwareCode As String Private mLockTypes As ALLockTypes -Private mLicType As ALLicType Private mKeyStore As IKeyStoreProvider Private mKeyStorePath As String Private MyNotifier As New ActiveLockEventNotifier @@ -163,6 +162,18 @@ IActiveLock_RegisteredDate = Lic.RegisteredDate End Property +Private Property Get IActiveLock_RegisteredUser() As String + Dim Lic As ProductLicense + Set Lic = mKeyStore.Retrieve(mSoftwareName) + If Lic Is Nothing Then + Err.Raise ActiveLockErrCodeConstants.alerrNoLicense, "IActiveLock_RegisteredUser", "No license." + End If + ' Validate the License. + ValidateLic Lic + IActiveLock_RegisteredUser = Lic.Licensee +End Property + + '' ' Validate the License Key using RSA signature verification. ' License key contains the RSA signature of IActiveLock_LockCode. @@ -261,7 +272,6 @@ IActiveLock_ExpirationDate = Lic.Expiration End Property - Private Sub IActiveLock_Release() ' TODO: Implement Me! End Sub @@ -286,13 +296,6 @@ End If End Property -Private Property Let IActiveLock_LicenseType(RHS As ALLicType) - mLicType = RHS -End Property -Private Property Get IActiveLock_LicenseType() As ALLicType - IActiveLock_LicenseType = mLicType -End Property - Private Property Let IActiveLock_LockType(RHS As ALLockTypes) mLockTypes = RHS End Property @@ -332,6 +335,22 @@ End Property Private Property Get IActiveLock_SoftwareName() As String IActiveLock_SoftwareName = mSoftwareName +End Property + +Private Property Get IActiveLock_InstallationCode(Optional ByVal User As String = "") As String + ' Generate Request code to Lock + Dim strReq As String, strLock As String + strLock = IActiveLock_LockCode() + ' combine with user name + If User = "" Then + strReq = strLock + Else + strReq = strLock & vbLf & User + End If + ' base-64 encode the request + Dim strReq2 As String + strReq2 = modBase64.Base64_Encode(strReq) + IActiveLock_InstallationCode = strReq2 End Property Private Function IActiveLock_LockCode(Optional Lic As ProductLicense = Nothing) As String Index: FileKeyStore.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/FileKeyStore.cls,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- FileKeyStore.cls 7 Aug 2003 17:30:59 -0000 1.1 +++ FileKeyStore.cls 3 Nov 2003 06:30:42 -0000 1.2 @@ -61,6 +61,7 @@ ' /////////////////////////////////////////////////////////////////////// ' ' 07.07.03 - mcrute - Updated the header comments for this file. +' 11.02.03 - th2tran - Handle loading and saving of new MaxCount property ' ' ' /////////////////////////////////////////////////////////////////////// @@ -81,6 +82,7 @@ Private Const KEY_PRODNAME$ = "ProductName" Private Const KEY_PRODVER$ = "ProductVersion" Private Const KEY_LICENSEE$ = "Licensee" +Private Const KEY_MAXCOUNT$ = "MaxCount" ' Maximum number of users Private Const KEY_LICTYPE$ = "LicenseType" Private Const KEY_LICCLASS$ = "LicenseClass" Private Const KEY_LICKEY$ = "LicenseKey" @@ -107,28 +109,39 @@ mIniFile.Values(KEY_LICTYPE) = .LicenseType mIniFile.Values(KEY_LICCLASS) = .LicenseClass mIniFile.Values(KEY_LICENSEE) = .Licensee + mIniFile.Values(KEY_MAXCOUNT) = CStr(.MaxCount) mIniFile.Values(KEY_LICKEY) = .LicenseKey mIniFile.Values(KEY_REGISTERED_DATE) = .RegisteredDate mIniFile.Values(KEY_LASTRUN_DATE) = .LastUsed mIniFile.Values(KEY_LASTRUN_DATE_HASH) = .Hash1 mIniFile.Values(KEY_EXP) = .Expiration + + End With - + End Sub '' ' Retrieves the registered license for the specified product. ' Private Function IKeyStoreProvider_Retrieve(ProductName As String) As ProductLicense - Dim Lic As New ProductLicense + Set IKeyStoreProvider_Retrieve = Nothing + ' Read license properties from INI file section ' TODO: Perhaps we need to lock the file first.? mIniFile.Section = ProductName + + ' No license found + If mIniFile.GetValue(KEY_LICKEY) = "" Then Exit Function + + Dim Lic As New ProductLicense + On Error GoTo InvalidValue With Lic .ProductName = ProductName .ProductVer = mIniFile.GetValue(KEY_PRODVER) .ProductKey = mIniFile.GetValue(KEY_PRODKEY) .Licensee = mIniFile.GetValue(KEY_LICENSEE) + .MaxCount = CLng(mIniFile.Values(KEY_MAXCOUNT)) .LicenseType = mIniFile.GetValue(KEY_LICTYPE) .LicenseClass = mIniFile.GetValue(KEY_LICCLASS) .LicenseKey = mIniFile.GetValue(KEY_LICKEY) @@ -138,6 +151,9 @@ .Hash1 = mIniFile.Values(KEY_LASTRUN_DATE_HASH) End With Set IKeyStoreProvider_Retrieve = Lic + Exit Function +InvalidValue: + Err.Raise alerrKeyStoreInvalid, "ActiveLock2.FileKeyStoreProvider", "A license property contains an invalid value." End Function Index: Globals.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/Globals.cls,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Globals.cls 13 Oct 2003 04:49:03 -0000 1.2 +++ Globals.cls 3 Nov 2003 06:30:42 -0000 1.3 @@ -137,27 +137,27 @@ ' @param Hash1 Hash-1 code ' ' @return License object. -Public Function CreateProductLicense(ByVal name As String, _ - ByVal Code As String, _ +Public Function CreateProductLicense(ByVal Name As String, _ ByVal Ver As String, _ - ByVal LicClass As ActiveLock2.ALLockTypes, _ + ByVal Code As String, _ + ByVal Flags As ActiveLock2.LicFlags, _ ByVal LicType As ActiveLock2.ALLicType, _ ByVal Licensee As String, _ ByVal Expiration As String, _ Optional ByVal LicKey As String, _ Optional ByVal RegisteredDate As String, _ - Optional ByVal Hash1 As String _ + Optional ByVal Hash1 As String, _ + Optional ByVal MaxUsers As Integer = 1 _ ) As ProductLicense -Attribute CreateProductLicense.VB_Description = "Creates a new ProductLicense object." Dim NewLic As New ProductLicense With NewLic - .ProductName = name + .ProductName = Name .ProductKey = Code .ProductVer = Ver - .LicenseClass = GetClassString(LicClass) - .LicenseType = GetLicTypeString(LicType) + .LicenseClass = GetClassString(Flags) + .LicenseType = LicType .Licensee = Licensee - + .MaxCount = MaxUsers ' ignore exipration date if license type is "permanent" If LicType <> allicPermanent Then .Expiration = Expiration @@ -175,18 +175,14 @@ Set CreateProductLicense = NewLic End Function -Private Function GetClassString(LockType As ActiveLock2.ALLockTypes) As String +Private Function GetClassString(Flags As ActiveLock2.LicFlags) As String 'TODO: Decide the class numbers. ' lockMAC should probably be last, ' like it is in the enum. (IActivelock.cls) - If LockType = lockMAC Then - GetClassString = "Class1" - ElseIf LockType = lockWindows Then - GetClassString = "Class2" - ElseIf LockType = lockComp Then - GetClassString = "Class3" - ElseIf LockType = lockHD Then - GetClassString = "Class4" + If Flags = alfMulti Then + GetClassString = "MultiUser" + Else ' default + GetClassString = "Single" End If End Function @@ -197,7 +193,15 @@ ' Private Function GetLicTypeString(LicType As ALLicType) As String 'TODO: Implement this properly. - GetLicTypeString = "Single" + If LicType = allicPeriodic Then + GetLicTypeString = "Periodic" + ElseIf LicType = allicPermanent Then + GetLicTypeString = "Permanent" + ElseIf LicType = allicTimeLocked Then + GetLicTypeString = "Timed Expiry" + Else ' default + GetLicTypeString = "None" + End If End Function '' Index: IActiveLock.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/IActiveLock.cls,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- IActiveLock.cls 13 Oct 2003 04:49:03 -0000 1.3 +++ IActiveLock.cls 3 Nov 2003 06:30:42 -0000 1.4 @@ -81,8 +81,11 @@ ' ' Private Sub Form_Load() ' On Error GoTo ErrHandler -' ' Obtain an instance of AL +' ' Obtain an instance of AL. NewInstance() also calls IActiveLock.Init() ' Set MyActiveLock = ActiveLock2.NewInstance() +' ' At this point, either AL has been initialized or an error would have already been raised +' ' if there were problems (such as activelock2.dll having been tampered). +' ' ' Verify AL's authenticity ' ' modActiveLock.CRCCheckSumTypeLib() requires a public-creatable object to be passed in so that it can ' ' determine the Type Library DLL on which to perform the checksum. @@ -112,18 +115,9 @@ ' ' Specify product version ' MyActiveLock.SoftwareVersion = txtVersion ' -' ' Specify License Type -' MyActiveLock.LicenseType = allicTimeLocked -' ' ' Specify Lock Type ' MyActiveLock.LockType = lockHD ' -' ' Now initialize AL -' MyActiveLock.Init -' -' ' At this point, either AL has been initialized or an error would have already been raised -' ' if there were problems (such as activelock2.dll having been tampered). -' ' ' Check registration status by calling Acquire() ' ' Note: Calling Acquire() may trigger ActiveLockEventNotifier_ValidateValue() event. ' ' So we should be prepared to handle that. @@ -133,6 +127,7 @@ ' ' which means if we get to here, then we're registered. ' ' ' Just for fun, print out some registration status info +' Debug.Print "Registered User: " & MyActiveLock.RegisteredUser ' Debug.Print "Used Days: " & MyActiveLock.UsedDays ' Debug.Print "Expiration Date: " & MyActiveLock.ExpirationDate ' Exit Sub @@ -182,28 +177,20 @@ ' <p>Generating registration code from the user application to be sent to the vendor in exchange for ' a liberation key. ' <pre> -' ' Generate Request code -' Dim strReq As String, strLock As String -' strLock = MyActiveLock.LockCode() -' ' Combine with user name -' strReq = strLock & vbLf & txtUser -' ' base-64 encode the request -' Dim strReq2 As String -' strReq2 = ActiveLock2.Base64Encode(strReq) -' ' strReq2 now contains the request code to be sent to the vendor for activation. +' ' Generate Installation code +' Dim strInstCode As String +' strInstCode = MyActiveLock.InstallCode(txtUser) +' ' strInstCode now contains the request code to be sent to the vendor for activation. ' </pre> ' ' <p>Key Registration functionality - register using a liberation key. ' <pre> ' On Error GoTo ErrHandler ' ' Register this key -' Dim Lic As New ActiveLock2.ProductLicense ' ' txtLibKey contains the liberation key entered by the user. ' ' This key could have be sent via an email to the user or a program that automatically ' ' requests the key from a registration website. -' ' Load up the license txtLibKey. ' txtLibKey is a textbox containing the input from the user. -' Lic.Load txtLibKey -' MyActiveLock.Register Lic +' MyActiveLock.Register txtLibKey ' MsgBox "Registration successful!" ' Exit Sub 'ErrHandler: @@ -230,6 +217,9 @@ ' 10.11.03 - th2tran - Major updates to VBDOX comments... ' - Removed VBDox regarding key generation, now taken care by ALUGEN. ' - Added VB doc Attributes for showing in VB Object Browser +' 11.02.03 - th2tran - LicFlags Enum and its corresponding property don't belong here. Moved its definition to ProductLicense. +' - Added InstallationCode and RegisteredUser properties +' - Updated VBDox with new/simpler registration instructions. ' </pre> ' /////////////////////////////////////////////////////////////////////// @@ -239,20 +229,6 @@ Option Explicit '' -' License Types. Values are mutually exclusive. i.e. they cannot be OR'ed together. -' -' @param allicNone No license enforcement -' @param allicPeriodic License expires after X number of days -' @param allicPermanent License will never expire -' @param allicTimeLocked License expires on a particular date -Public Enum ALLicType - allicNone = 0 - allicPeriodic = 1 - allicPermanent = 2 - allicTimeLocked = 3 -End Enum - -'' ' License Lock Types. Values can be combined (OR'ed) together. ' ' @param lockNone No locking - not recommended @@ -271,16 +247,6 @@ End Enum '' -' License Flags. Values can be combined (OR'ed) together. -' -' @param alfSingle Single-user license -' @param alfMulti Multi-user license -Public Enum LicFlags - alfSingle = 0 - alfMulti = 1 -End Enum - -'' ' License Store Type specifies where to store license keys ' ' @param alsRegistry ' Store in Windows Registry @@ -296,22 +262,6 @@ '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '' -' Specifies the license type for this instance of ActiveLock. -' @param LicType License Type -' -Public Property Let LicenseType(LicType As ALLicType) -Attribute LicenseType.VB_Description = "License Type being used in this instance." - -End Property - -'' -' Returns the License Type being used in this instance. -' -Public Property Get LicenseType() As ALLicType - -End Property - -'' ' Specifies the lock type for this instance of ActiveLock. ' @param LockTypes Lock Types. ' @@ -362,6 +312,7 @@ '' ' Returns the Software Version being used in this instance. +' @return Software Version ' Public Property Get SoftwareVersion() As String @@ -388,6 +339,15 @@ End Property +'' +' Returns the installation-specific code needed to obtain the liberation key. +' @param User (Optional) Tailor the installation code specific to this user. +' @return Installation Code +' +Public Property Get InstallationCode(Optional ByVal User As String = "") As String + +End Property + '* '*''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '* Interface Methods @@ -413,9 +373,9 @@ '' ' Transfers the current license to another computer. -' @param RequestCode Request Code generated from the other computer. +' @param InstallCode Installation Code generated from the other computer. ' @return The liberation key tailored for the request code generated from the other machine. -Public Function Transfer(RequestCode As String) As String +Public Function Transfer(InstallCode As String) As String Attribute Transfer.VB_Description = "Transfers the current license to another computer." End Function @@ -477,6 +437,15 @@ ' Public Property Get RegisteredDate() As String Attribute RegisteredDate.VB_Description = "Returns the date on which the product was registered." + +End Property + +'' +' Returns the registered user. +' @return User name +' +Public Property Get RegisteredUser() As String +Attribute RegisteredUser.VB_Description = "Returns the registered user." End Property Index: ProductLicense.cls =================================================================== RCS file: /cvsroot/activelock/activelock/src/ProductLicense.cls,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ProductLicense.cls 13 Oct 2003 08:41:56 -0000 1.3 +++ ProductLicense.cls 3 Nov 2003 06:30:42 -0000 1.4 @@ -67,7 +67,9 @@ ' 10.12.03 - th2tran - Added VB doc Attributes for showing in VB Object Browser ' - Load() now drops CRLF chars from the liberation key. ' This allows users to format the key into nice 64-byte -' for better readability. +' 11.02.03 - th2tran - New license properties: License Type, MaxCount +' - Removed CLASS_n constants +' - Moved LicFlags definition from IActiveLock into here ' </pre> @@ -79,6 +81,7 @@ Private mstrType As String Private mstrLicensee As String Private mstrLicenseClass As String +Private mLicType As ALLicType Private mstrProductKey As String Private mstrProductName As String Private mstrProductVer As String @@ -86,28 +89,57 @@ Private mstrExpiration As String Private mstrRegisteredDate As String Private mstrLastUsed As String - Private mstrHash1 As String ' hash of mstrRegisteredDate +Private mnMaxCount As Long ' max number of concurrent users '' -' CPU License Class - I don't yet know how this could be done! +' License Flags. Values can be combined (OR'ed) together. ' -Public Property Get CLASS_1() As String - CLASS_1 = "Class1" +' @param alfSingle Single-user license +' @param alfMulti Multi-user license +Public Enum LicFlags + alfSingle = 0 + alfMulti = 1 +End Enum + +'' +' License Types. Values are mutually exclusive. i.e. they cannot be OR'ed together. +' +' @param allicNone No license enforcement +' @param allicPeriodic License expires after X number of days +' @param allicPermanent License will never expire +' @param allicTimeLocked License expires on a particular date +Public Enum ALLicType + allicNone = 0 + allicPeriodic = 1 + allicPermanent = 2 + allicTimeLocked = 3 +End Enum + + + +'' +' Specifies the license type for this instance of ActiveLock. +' @param LicType License Type +' +Public Property Let LicenseType(LicType As ALLicType) +Attribute LicenseType.VB_Description = "License Type" + mLicType = LicType End Property '' -' Site License Class - lock to hard-drive(nic?) +' Returns the License Type being used in this instance. ' -Public Property Get CLASS_2() As String - CLASS_2 = "Class2" +Public Property Get LicenseType() As ALLicType +Attribute LicenseType.VB_Description = "License Type" + LicenseType = mLicType End Property '' ' [INTERNAL] Specifies product name. ' -Friend Property Let ProductName(ByVal Name As String) - mstrProductName = Name +Friend Property Let ProductName(ByVal name As String) + mstrProductName = name End Property '' @@ -156,22 +188,6 @@ End Property '' -' [INTERNAL] Specifies license type. -' -Friend Property Let LicenseType(ByVal LicType As String) - mstrType = LicType -End Property - -'' -' Returns the license type. -' @return License Type -' -Public Property Get LicenseType() As String -Attribute LicenseType.VB_Description = "License Type string." - LicenseType = mstrType -End Property - -'' ' [INTERNAL] Specifies the license class string. ' Friend Property Let LicenseClass(ByVal LicClass As String) @@ -189,9 +205,11 @@ '' ' [INTERNAL] Specifies the licensed user. +' <p>!!! WARNING !!! Make sure you know what you're doing when you call this method; otherwise, you run +' the risk of invalidating your existing license. ' -Friend Property Let Licensee(ByVal Name As String) - mstrLicensee = Name +Public Property Let Licensee(ByVal name As String) + mstrLicensee = name End Property '' @@ -236,7 +254,7 @@ ' @return Expiration date ' Public Property Get Expiration() As String -Attribute Expiration.VB_Description = "expiration date string in YYYY/MM/DD format." +Attribute Expiration.VB_Description = "Expiration date string in YYYY/MM/DD format." Expiration = mstrExpiration End Property @@ -256,6 +274,14 @@ mstrRegisteredDate = strDate End Property +Public Property Get MaxCount() As Long + MaxCount = mnMaxCount +End Property + +Friend Property Let MaxCount(nCount As Long) + mnMaxCount = nCount +End Property + '' ' Returns the date and time, in YYYY/MM/DD HH:MM:SS format, when the product was last run. ' @return DateTime string @@ -304,7 +330,8 @@ LicenseType & vbCrLf & _ Licensee & vbCrLf & _ RegisteredDate & vbCrLf & _ - Expiration + Expiration & vbCrLf & _ + MaxCount End Function '' @@ -324,11 +351,12 @@ ProductVer = arrParts(1) ProductKey = arrParts(2) LicenseClass = arrParts(3) - LicenseType = arrParts(4) + LicenseType = CLng(arrParts(4)) Licensee = arrParts(5) RegisteredDate = arrParts(6) Expiration = arrParts(7) - LicenseKey = arrParts(8) + MaxCount = CLng(arrParts(8)) + LicenseKey = arrParts(9) End Sub '' |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:05:31
|
Update of /cvsroot/activelock/alutil In directory sc8-pr-cvs1:/tmp/cvs-serv25563 Modified Files: ActiveLockUtil.vbp Log Message: Bumped version to 2.0.4 Index: ActiveLockUtil.vbp =================================================================== RCS file: /cvsroot/activelock/alutil/ActiveLockUtil.vbp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ActiveLockUtil.vbp 13 Oct 2003 04:56:46 -0000 1.2 +++ ActiveLockUtil.vbp 3 Nov 2003 06:05:28 -0000 1.3 @@ -9,13 +9,13 @@ Command32="" Name="ActiveLockUtil" HelpContextID="0" -Description="ActiveLock Helper Library" +Description="ActiveLock Helper Library 2.0" CompatibleMode="2" CompatibleEXE32="..\activelock\bin\alutil.dll" VersionCompatible32="1" MajorVer=2 MinorVer=0 -RevisionVer=3 +RevisionVer=4 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="The ActiveLock Software Group" |
From: Thanh H. T. <th...@us...> - 2003-11-03 06:03:54
|
Update of /cvsroot/activelock/alutil In directory sc8-pr-cvs1:/tmp/cvs-serv25350 Modified Files: INIFile.cls Log Message: Allow INI key values to have max length of 2048 bytes Index: INIFile.cls =================================================================== RCS file: /cvsroot/activelock/alutil/INIFile.cls,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- INIFile.cls 19 Aug 2003 04:45:58 -0000 1.1 +++ INIFile.cls 3 Nov 2003 06:03:51 -0000 1.2 @@ -16,7 +16,7 @@ ' /////////////////////////////////////////////////////////////////////// ' / Filename: INIFile.cls / ' / Version: 1.0.0.1 / -' / Purpose: Stores and retrives product keys / +' / Purpose: INI File Class / ' / Klaus H. Probst [kp...@vb...] / ' / / ' / Date Created: ???? ??, ???? - KHP / @@ -46,6 +46,14 @@ ' advance to obtain my express permission. ' ' +'* /////////////////////////////////////////////////////////////////////// +' / MODULE CHANGE LOG / +' /////////////////////////////////////////////////////////////////////// +' @history +' <pre> +' 11.02.03 - th2tran - Allow key values to have max length of 2048 bytes +' </pre> + ' /////////////////////////////////////////////////////////////////////// ' / MODULE CODE BEGINS BELOW THIS LINE / ' /////////////////////////////////////////////////////////////////////// @@ -65,6 +73,8 @@ Private m_LastError As String ' Last error message +Private Const VALUE_MAX_LEN As Long = 2048 + ' ' Retrieves a value from the passed key (ValueName) and returns it as a variant ' (String subtype). This proc is useful if your requirements go above that of the @@ -76,10 +86,10 @@ Public Function GetValue(ByVal ValueName As String, Optional ByVal Default As String, Optional ByRef Failed As Boolean) As Variant Dim sBuffer As String Dim lReturn As Long - + m_LastError = "" ' reset error message - - sBuffer = String$(255, vbNullChar) + + sBuffer = String$(VALUE_MAX_LEN, vbNullChar) lReturn = GetPrivateProfileString(m_sSection, ValueName, Default, sBuffer, Len(sBuffer), m_sFileName) If lReturn > 0 Then @@ -137,7 +147,7 @@ On Error GoTo catch iCounter = -1 '// preset this - lBuffSize = 1024 '// start out with 2048 bytes + lBuffSize = VALUE_MAX_LEN '// start out with 2048 bytes Do lBuffSize = (lBuffSize * 2) lBuffSize = lBuffSize - 1 '// otherwise we overflow 32767 @@ -165,7 +175,7 @@ Else ReDim Preserve asEnumKeys(0 To iCounter) End If - + 'pull up to the first Null sValuePair = Mid$(sBuffer, 1, InStr(sBuffer, vbNullChar) - 1) If Len(sValuePair) > 0 Then @@ -173,9 +183,9 @@ If iDelim > 0 Then asEnumKeys(iCounter) = Left$(sValuePair, iDelim - 1) End If - + End If - + 'trim the string to the next null sBuffer = Mid$(sBuffer, InStr(sBuffer, vbNullChar) + 1) iCounter = iCounter + 1 @@ -221,7 +231,7 @@ 'Debug.Assert 0 On Error GoTo catch iCounter = -1 - lBuffSize = 1024 '// start out with 2048 bytes + lBuffSize = VALUE_MAX_LEN '// start out with 2048 bytes Do lBuffSize = (lBuffSize * 2) lBuffSize = lBuffSize - 1 '// otherwise we overflow 32767 @@ -257,7 +267,7 @@ asEnumValues(iCounter) = Right$(sValuePair, (Len(sValuePair) - iDelim)) End If End If - + 'trim the string to the next null sBuffer = Mid$(sBuffer, InStr(sBuffer, vbNullChar) + 1) iCounter = iCounter + 1 @@ -303,7 +313,7 @@ 'Debug.Assert 0 On Error GoTo catch iCounter = -1 - lBuffSize = 1024 '// start out with 2048 bytes + lBuffSize = VALUE_MAX_LEN '// start out with 2048 bytes Do lBuffSize = (lBuffSize * 2) lBuffSize = lBuffSize - 1 '// otherwise we overflow 32767 @@ -329,14 +339,14 @@ Else ReDim Preserve asEnumSections(0 To iCounter) End If - + 'pull up to the first Null sValue = Mid$(sBuffer, 1, InStr(sBuffer, vbNullChar) - 1) If Len(sValue) > 0 Then asEnumSections(iCounter) = sValue - + End If - + 'trim the string to the next null sBuffer = Mid$(sBuffer, InStr(sBuffer, vbNullChar) + 1) iCounter = iCounter + 1 @@ -389,7 +399,7 @@ ' Public Function EnumSectionValuePairs(ByRef ArrayResult As Variant) As Integer On Error GoTo catch - + Dim sBuffer As String Dim lReturn As Long Dim sValuePair As String @@ -403,7 +413,7 @@ 'Debug.Assert 0 On Error GoTo catch iCounter = -1 - lBuffSize = 1024 '// start out with 2048 bytes + lBuffSize = VALUE_MAX_LEN '// start out with 2048 bytes Do lBuffSize = (lBuffSize * 2) lBuffSize = lBuffSize - 1 '// otherwise we overflow 32767 @@ -443,7 +453,7 @@ arrEnumValues(iCounter) = Right$(sValuePair, (Len(sValuePair) - iDelim)) End If End If - + 'trim the string to the next null sBuffer = Mid$(sBuffer, InStr(sBuffer, vbNullChar) + 1) iCounter = iCounter + 1 @@ -488,7 +498,7 @@ Dim lReturn As Long Dim sDefault As String - szBuffer = String$(255, vbNullChar) + szBuffer = String$(VALUE_MAX_LEN, vbNullChar) sDefault = "" lReturn = GetPrivateProfileString(m_sSection, ValueName, sDefault, szBuffer, Len(szBuffer), m_sFileName) |
From: Dan S. <da...@fl...> - 2003-11-03 03:48:26
|
> Mike and Dan: I know you guys have been tasked with the Developers > Guide. How's that coming along? Mike was supposed to be creating some kind of a template. Haven't heard from him as of yet. |
From: Thanh H. T. <th...@sy...> - 2003-11-03 02:10:48
|
Hi everyone, Just a heads-up....I've been trying to create a tutorial for ActiveLock 2 this past week, which gave me a chance to review everything we did so far with a fresh head after taking a timeout for a few weeks. I found some really stupid stuffs in the code (most of it my own work...obviously no body has been using and testing this shit except me!), stupid enough that fixing it will break the API, which leads me to the subject line: Alpha 3. Obviously the API is not as stable as I thought, so we can't go into Beta just yet. I have completed the fixes and intend to release A3 within a couple of days . Anyone has anything else that we need to include? Mike and Dan: I know you guys have been tasked with the Developers Guide. How's that coming along? - Thanh |
From: SourceForge.net <no...@so...> - 2003-10-31 02:43:33
|
Feature Requests item #776088, was opened at 2003-07-23 07:14 Message generated for change (Comment added) made by th2tran You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=526388&aid=776088&group_id=70007 Category: None >Group: Next Major Version Status: Open Resolution: None Priority: 5 Submitted By: Thanh Hai Tran (th2tran) >Assigned to: Thanh Hai Tran (th2tran) Summary: Support Concurrent/Site Licenses Initial Comment: Ability to restrict to no more than X number of users to use the product at the same time within the same organization. ---------------------------------------------------------------------- >Comment By: Thanh Hai Tran (th2tran) Date: 2003-10-31 02:43 Message: Logged In: YES user_id=797792 This feature will be on the dev plan for 2.1. - Thanh ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-10-29 20:38 Message: Logged In: NO This is feature more important of the new version of the ActiveLock! ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-09-03 13:37 Message: Logged In: NO Very important! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=526388&aid=776088&group_id=70007 |
From: SourceForge.net <no...@so...> - 2003-10-29 20:38:47
|
Feature Requests item #776088, was opened at 2003-07-23 00:14 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=526388&aid=776088&group_id=70007 Category: None Group: Future Development Status: Open Resolution: None Priority: 5 Submitted By: Thanh Hai Tran (th2tran) Assigned to: Nobody/Anonymous (nobody) Summary: Support Concurrent/Site Licenses Initial Comment: Ability to restrict to no more than X number of users to use the product at the same time within the same organization. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-10-29 12:38 Message: Logged In: NO This is feature more important of the new version of the ActiveLock! ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2003-09-03 06:37 Message: Logged In: NO Very important! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=526388&aid=776088&group_id=70007 |
From: Michael E. C. <mc...@so...> - 2003-10-19 04:20:48
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title></title> </head> <body text="#3333ff" bgcolor="#ffffff"> <font size="-1"><span style="font-family: verdana;">Thanh... Got the email late but the problem is fixed... After the forum crash earlier I neglected to chmod 777 the uploads folder... if you still have problems let me know and I will fix them ASAP.<br> <br> -Mike<br> </span></font><br> Thanh Hai Tran wrote:<br> <blockquote type="cite" cite="mid...@sy...">Mike, <br> Something's screwed up with the forum. It won't let us post any attachments. Please look into this since you're the only one with write permission to the files! <br> Thanks, <br> - Thanh <br> <br> <br> <br> <br> ------------------------------------------------------- <br> This SF.net email is sponsored by: SF.net Giveback Program. <br> SourceForge.net hosts over 70,000 Open Source Projects. <br> See the people who have HELPED US provide better services: <br> Click here: <a class="moz-txt-link-freetext" href="http://sourceforge.net/supporters.php">http://sourceforge.net/supporters.php</a> <br> _______________________________________________ <br> Activelock-Development mailing list <br> <a class="moz-txt-link-abbreviated" href="mailto:Act...@li...">Act...@li...</a> <br> <a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/activelock-development">https://lists.sourceforge.net/lists/listinfo/activelock-development</a> <br> <br> <br> </blockquote> <br> <pre cols="72" class="moz-signature">-- **************************************** Michael E. Crute Senior Applications Developer SoftGroup Development Corporation <a class="moz-txt-link-abbreviated" href="mailto:mc...@so...">mc...@so...</a></pre> </body> </html> |
From: Thanh H. T. <th...@sy...> - 2003-10-16 06:54:17
|
Mike, Something's screwed up with the forum. It won't let us post any attachments. Please look into this since you're the only one with write permission to the files! Thanks, - Thanh |
From: Thanh H. T. <th...@sy...> - 2003-10-16 03:48:20
|
Hmm....no volunteer. This is a bit disappointing, to say the least. :( Thanh Hai Tran wrote: > OK. Who would kike to volunteer for this task? C'mon. Step right > up. Don't be shy. :-) > > SourceForge.net wrote: > >> Task #80351 has been updated. >> Project: ActiveLock >> Subproject: ActiveLock 2.0 General >> Summary: Create a Tutorial >> Complete: 0% >> Status: Open >> Authority : kingrikk >> Assigned to: nobody >> >> Description: Ensure that user guides, quick runthroughs and tutorials >> are created for this version of ActiveLock before we continue. >> >> Follow-Ups: >> >> ------------------------------------------------------- >> Date: 2003-10-15 05:10 >> By: th2tran >> >> Comment: >> ...and by the way, I'm designating this task solely for creating a >> tutorial. We'll need to create a separate task for user guide >> documentation, later. >> >> ------------------------------------------------------- >> Date: 2003-10-15 05:02 >> By: th2tran >> >> Comment: >> Need a step-by-step "ActiveLock 2 for Dummies" tutorial that shows >> how developers can use ActiveLock 2 within their existing application. >> >> ------------------------------------------------------- >> For more info, visit: >> >> http://sourceforge.net/pm/task.php?func=detailtask&project_task_id=80351&group_id=70007&group_project_id=29689 >> >> >> >> |
From: Thanh H. T. <th...@sy...> - 2003-10-15 05:23:58
|
No more meeting scheduled after alpha 2 release. Now we take a well deserved break for a week...or two. - Thanh AJcompany AJcompany wrote: >  > Whoops, missed that message. Sorry bout that. > (A little too late now, but when's the next meeting?) > > AJ > > ----- Original Message ----- > *From:* Thanh Hai Tran <mailto:th...@sy...> > *To:* act...@li... > <mailto:act...@li...> > *Sent:* Monday, October 13, 2003 5:14 PM > *Subject:* [family] Re: [ActiveLock-Development] Alpha 2 Release Prep > > Mike: No execuse (especially for a PM) for being busy, man. So am > I. So are we all. See you then. > > AJ, > I just saw your reply from the list archive (it didn't make it to > my inbox though...wonder why). > Anyway, you are ALL more than welcome to join us. > > Time: Monday, Oct 13, 2003 9:00PM EST > Place: MSN Messenger > I now have your MSN ID so I can bring you into the meeting chat > when I see you online. > > I've posted the weekly build (2.0.3) on SF. Please download and > help me give it some quick tests if you would. This will be our > Alpha 2 candidate. If there's no major issue with it, we will > promote it to "Alpha 2" status tonight. > > - Thanh > > > ----- Original Message ----- > *From:* Michael E. Crute <mailto:mc...@so...> > *To:* act...@li... > <mailto:act...@li...> > *Sent:* Monday, October 13, 2003 5:10 PM > *Subject:* Re: [ActiveLock-Development] Alpha 2 Release Prep > > Sure man... we can talk tonight (9PM EST)... I got no excuses > just really fuckin busy. See ya then... > > -Mike > > Thanh Hai Tran wrote: > >> Mike! >> Where did you disappear to? We need to get together to >> prepare for Alpha 2 release. >> 9PM EST tonight. >> Let me know your availability. >> - Thanh > > ------------------------------------------------------------------------ > Do you Yahoo!? > The New Yahoo! Shopping > <http://shopping.yahoo.com/?__yltc=s%3A150000443%2Cd%3A22708228%2Cslk%3Atext%2Csec%3Amail> > - with improved product search |