bo2k 1.3 tasks for beta 5 (10-07-04)

  1. (ID: 1) [5] FrameWork tasks (allocated to: Javier (as Manager)) (time est: 31.00 hrs)
    1. (ID: 3) [8] (15%) Add Documentation in the source files (allocated to: Javier) (start: 04/06/04) (due: 05/07/04) (time est: 3.00 hrs)
    2. (ID: 11) [3] Allow to load/extract any kind of file intro the server (allocated to: (none)) (time est: 15.00 hrs)
    3. (ID: 12) [0] Common Gui controls code (allocated to: (none)) (time est: 2.00 hrs)
      [Add comon gui controls code. (Just move code to a share source file "gui.cpp"; so the client and config tool can be compiled using this shared file).
      The Server must ignore this code]
    4. (ID: 13) [0] Flat combo boxes (allocated to: (none)) (time est: 11.00 hrs)
      [Add Flat combo boxes to the gui style for Client and Config Tool.
      The Server must ignore this code.]

  2. (ID: 14) [5] bocfg tasks (allocated to: Javier (as Manager)) (time est: 5.00 hrs)
    1. (ID: 16) [5] Add Preferences Dialog box (allocated to: Javier) (due: 30/07/04) (time est: 2.00 hrs)
      [Add a Preferences Dialog to the Client and to the Config Tool. This Dialog must allow to select the strings language to be used, select the Client colors, the default user directory and other configurations.]
    2. (ID: 17) [5] Add Welcome Dialog (allocated to: (none)) (due: 28/07/04) (time est: 3.00 hrs)
      [The welcome dialog must allow to take three options:
      > Open Server: Show the open file dialog and opens the selected boxp server.
      > Open Last Server: Opens the last used server.
      > Help: In the future must show the bocfg help.
      and show a check box that allow to disable the welcome dialog.]

  3. (ID: 19) [5] bogui tasks (allocated to: Javier (as Manager)) (time est: 29.40 hrs)
    1. (ID: 20) [8] (20%) Add Preferences Dialog box (allocated to: Javier) (start: 03/03/04) (due: 30/07/04) (time est: 15.00 hrs)
      [Add a Preferences Dialog to the Client and to the Config Tool. This Dialog must allow to select the strings language to be used, select the Client colors, the default user directory and other configurations.]
    2. (ID: 24) [8] (7%) Cli_extend::Allow to categorize servers (allocated to: Javier) (start: 16/05/04) (due: 05/07/04) (time est: 3.90 hrs)
      [Include the categorized servers inside a folder or something like.
      Will be implemted but inside a new plugin: cli_extend.]
      1. (ID: 26) [8] Save/Open Categories List in BO2K Workspace (allocated to: Javier) (start: 08/06/04) (due: 05/07/04) (time est: 1.00 hrs)
        1. (ID: 27) [8] Add Checksum when write infos (allocated to: Javier) (due: 05/07/04) (time est: 0.50 hrs)
        2. (ID: 120) [8] (60%) Save Category status (allocated to: Javier) (start: 01/07/04) (due: 05/07/04) (time est: 0.50 hrs)
          [Valid status: colapsed and expanded.]
      2. (ID: 30) [8] Sync with the Old ServerList (allocated to: Javier) (due: 05/07/04) (time est: 1.10 hrs)
      3. (ID: 121) [8] Show context menu (allocated to: Javier) (start: 02/07/04) (time est: 0.80 hrs)
        [when the user clicks in the TreeView control, show the following options:
        * Edit settings.
        * Delete.
        * Connect to / Disconnect.]
      4. (ID: 122) [8] Save list of server that are connected (allocated to: Javier) (start: 02/07/04) (time est: 1.00 hrs)
        [so the next time that opens the workspace, ask for the list of servers that want to re-connect.]
    3. (ID: 44) [5] Modify ServerDialog (allocated to: (none)) (due: 05/07/04) (time est: 3.00 hrs)
      1. (ID: 45) [5] Add a toolbar in the ServerDialog (allocated to: (none)) (due: 05/07/04) (time est: 2.00 hrs)
        [To place some plugin commands in that toolbar. Pass to the plugin command the SERVER_INFO structure pointer.]
      2. (ID: 46) [5] Modify Client plugin commands (allocated to: (none)) (due: 05/07/04) (time est: 1.00 hrs)
        [should need a: Custom pointer to data and a pointer to the SERVER_INFO structure.]
    4. (ID: 123) [5] Restructure Workspace document format (allocated to: Javier (as Manager)) (start: 02/07/04)
      [Use structures like the PE header.]
    5. (ID: 109) [5] Allow to change the height of ServerList window (allocated to: (none)) (due: 30/07/04) (time est: 1.00 hrs)
    6. (ID: 42) [5] Change Images/icons to 256 colors (allocated to: (none)) (due: 30/07/04) (time est: 1.50 hrs)
      [for better look style.]
    7. (ID: 43) [5] Reoder Document Handling operations (allocated to: (none)) (due: 30/07/04) (time est: 5.00 hrs)
      [Add functions to handle the document operation: like Doc_AddServer, instead send a message to the ServerList window.]
    8. (ID: 55) [0] Docking windows (allocated to: (none))
      [Add code to allow auto-docking for child windows of bogui. So whindows like ServerList and plugin windows could be docked intro the bogui MainFrame, given a friendly user gui style.]
    9. (ID: 56) [0] Select Wallpaper option (allocated to: (none))
      [Add option to select a wallpaper for bogui, ask the file name and draw it at the botton main frame dialog]

  4. (ID: 57) [5] plug-ins tasks (allocated to: Javier (as Manager)) (time est: 16.50 hrs)
    1. (ID: 58) [8] (60%) Build srv_stealth (allocated to: Javier) (start: 30/01/04) (due: 30/07/04) (time est: 10.00 hrs)
      [Create the new srv_stealth for the new engine, must allow all the traditional bo2k functions on this topic.
      Status: The job of RedLizard is done, but need some changes and features yet.]
    2. (ID: 59) [5] srv_trayicon tasks (allocated to: Javier (as Manager)) (time est: 6.50 hrs)
      1. (ID: 61) [5] Add dialog context structure (allocated to: (none)) (due: 30/07/04) (time est: 2.00 hrs)
      2. (ID: 63) [5] Allow to other plugins install commands (allocated to: Javier (as Manager)) (due: 30/07/04) (time est: 3.00 hrs)
        [show these commands in a popup menu.]
      3. (ID: 60) [5] TrayIcon plugin must show the list of threads (allocated to: (none)) (due: 30/07/04) (time est: 1.00 hrs)
      4. (ID: 62) [5] When change the list mode show only commands for this mode (allocated to: (none)) (due: 30/07/04) (time est: 0.50 hrs)
        [hide other commands]
    3. (ID: 74) [5] Allow to update server (allocated to: (none))
      [Add new command in srv_control.]
    4. (ID: 72) [5] Allow multilanguage plugins (allocated to: (none))
      [That is: allow to change the strings of the plugins.
      Maybe need to add a context structure to each plugin.]
      1. (ID: 73) [5] Add new member in PLUGIN_INFO (allocated to: (none))
        [named as pStrings, where the plugin will store the pointer to his strings structure.]
    5. (ID: 66) [6] (0%) Build the Marsala auth engine. (allocated to: Javier Aroche)
      1. (ID: 67) [8] Send user auth request (allocated to: Javier Aroche) (start: 01/03/04) (due: 26/07/04)
        [Client: Send the user name and password inside the first package of the auth and wait for the reply package.
        Server: Wait the first package and check if the user name and the password are OK, then send the reply package.

        First package rules:
        * user name must be send as an CRC 32 bits code (fast to find in the USERTABLE and secure to send).
        * password must be send as an MD5 digest (secure to send).

        Second package rules:
        * send in the reply a flag "OK" or something like... followed by a USERINFO structure with:
        > User ID.
        > User Name.]
      2. (ID: 68) [6] Build Configuration Tool for auth_marsala (allocated to: Javier Aroche)
    6. (ID: 77) [10] Fix Keylogging commands (allocated to: Javier) (due: 05/07/04)
    7. (ID: 75) [8] Port srv_inetcmd to 1.3 linkage (allocated to: (none)) (due: 30/07/04)
    8. (ID: 76) [6] srv_system fix (allocated to: (none)) (start: 08/02/04) (due: 05/07/04)
      [Fix the bug in Get System Info command (srv_system) can't return the rigth size of disks longer that 2 GBs. Use GetDiskFreeSpaceEx.]
    9. (ID: 80) [0] (10%) Build srv_rootkit (allocated to: (none))
      [Terminate the srv_rootkit plugin for the new engine. Must only run on Win NT machines!]

  5. (ID: 82) [8] (18%) Write BO2k 1.3 SDK (allocated to: Javier) (start: 02/01/04)
    1. (ID: 85) [4] (5%) Write Functions infos (allocated to: Javier)
    2. (ID: 83) [8] (40%) Write Plugin Tutorial (allocated to: Javier) (start: 14/02/04) (due: 30/08/04)
    3. (ID: 84) [4] (10%) Write Stuctures infos (allocated to: Javier)

  6. (ID: 86) [0] Features for the next engine (allocated to: Javier (as manager))
    [The following features would requiere a full(?) write of the actual engine(!), so are stored here to don't forget they. They should be coded some day... maybe for "bo2k 1.5" or a "bo2k 1.3 Special Edition" or "BO LongHorn"]
    1. (ID: 97) [0] Generate Events (allocated to: Javier (as manager)) (start: 18/06/04)
      [Like post a message in the thread's message queue or call some function for each plugin, when we do some changes like:
      * Add/Remove a plugin
      * Configuration changed.
      * thread started/stoped.
      * New connection/ connection closed.
      ... things so.]
    2. (ID: 87) [0] Add a message queue for the framework in other thread (allocated to: (none))
      [and process thread messages, like remove plugin message, start thread message, etc.]
      1. (ID: 88) [0] Allow interprocess communication (allocated to: (none))
        [why just support plugins in our process memory? Better support any kind of application that be linked with the Engine, but in other process.]
    3. (ID: 89) [0] Allow Engine user context (allocated to: (none))
      [Nowadays the engine user authentication only works with server commands . The next Engine should run under a user context (like Win NT), to allow the full function restriction. Therefore any function on the Engine, must check the user level passed in some place on the call.]
      1. (ID: 90) [0] Allow User Context by thread (allocated to: (none))
        [this is the more easy way to get user security context.]
    4. (ID: 91) [0] Allow to save bogui workspaces as xml (allocated to: (none))
    5. (ID: 92) [0] Create a ThreadHandler (allocated to: (none))
      [Store here all functions and infos about the threads running in the Engine, and allow security by thread.]

  7. (ID: 94) [0] DLL Image Loader tasks (time est: 16.00 hrs)
    1. (ID: 95) [0] Create Functions to load Resources. (time est: 16.00 hrs)

  8. (ID: 93) [0] Mail to AVers (allocated to: (none))
    [And say that they should exclude our software as Trojan!!!!!.]
  9. (ID: 81) [0] Terminate the BO Installer tool. (allocated to: (none)) (time est: 25.00 hrs)

Javier Aroche

Bo2k admin & developer