Menu

Problems getting started from GitHub project

2015-08-04
2015-08-05
  • fritzophrenic

    fritzophrenic - 2015-08-04

    I had a few problems getting started with the GitHub repository. I'm working through them but before I fix anything in code I want to know what I'm doing wrong. I assume you don't have these problems on your end, so maybe some information just needs adding to the readme or something. :-)

    First...the Visual Studio solution file has two projects; but only one project is present in the GitHub repository. The test repository seems to be missing; I can compile the sequencer project just fine.

    Second, I could not run the KeePass.exe that gets copied to the bin/Release folder, until I had copied over the KeePass.exe.config file from my KeePass installation. Is this normal?

    Next, reading the config file is failing. The DLL is trying to read the KeePass.exe.config file instead of the .DLL.config file provided with the project. I would get an exception for using a null value until I copied the configFile line from the .DLL.config file over to the KeePass.exe.config file. Even after doing that, reading the config fails, because the options.xml file does not exist. I expected the plugin to create that file if it did not exist yet; since it does not, is there a pre-made options.xml somewhere I can copy to the correct location to get the plugin up and running?

    Note, I did find the following information about DLL-specific app config files, which leads me to believe some coding is needed, however like I said I assume this is working on your end so I must be missing something:
    http://stackoverflow.com/questions/594298/c-sharp-dll-config-file
    http://stackoverflow.com/questions/5190539/equivalent-of-app-config-for-library-dll

     
  • fireOut

    fireOut - 2015-08-04

    For now, you can probably copy the compiled DLL (sequencer.dll from bin/debug) to a working keepass folder (Program Files) and happend the appsetting from the app.config to the keepass.exe.config, this is how I tested last.

    I will try to find my test project, although it was only reading an existing configuration file (manually edited) and generating passphrase from it.

    I'm not sure why the included keepass executable would not work as is, but it is from an older keepass version, you can probably update it with a portable keepass.exe, and it may work from there then

    A sample xml exists at the root of the repo: SamplePasswordSequenceConfiguration.xml that you
    can rename options.xml

    I wanted to work on generating a config file automatically when none was found (see https://github.com/fireout/keepasssequencer/issues) and have it written in the AppData windows folder ultimatly the .dll.config file should only be there if there is a need for overriding the default path. This still needs to be done; I did not have much time to work in this project recently (altough I can probably find some time here and there to allow you to have a working setup), but I should have more time this coming fall.

    Hope this helps and thanks for your contribution

     
    • fritzophrenic

      fritzophrenic - 2015-08-05

      That should help, thanks. And the KeePass.exe does run if I copy in the config file for it.

      Actually, my planned updates fix all three issues in the tracker. :-)

      Here's my TODO list once I get the existing project running:

      1. Update to look in the user folder (if present) instead of app folder. Fixes issue 1.
      2. Automatically create config in user folder by copying app folder config, if user config not present. Probably this means distributing an example config in the app directory; fixes issue 2.
      3. Use crypto-secure random algorithm throughout as discussed here: https://sourceforge.net/p/kpwordsequence/discussion/general/thread/f472c3eb/ (because that makes me nervous)
      4. Allow specifying a .txt file location in place of the manually entered list, if desired (partial fix for issue 3)

      At this point I'll be ready to use the plugin for my own passwords, so I may pause for a while here. :-)

      1. Update to be able to save multiple named configurations; add an option to add an entry to the algorithms or generators menu or something like that.
      2. Create pre-made configurations for a few word lists: diceware, diceware alternate list, General Service List, New General Service List. Completes fix for issue 3. :-)
      3. Add estimated strength of passwords based on number of words, using the entropy-based strength from the keepass documentation: http://keepass.info/help/kb/pw_quality_est.html (entropy = lg(number of words in list) * (number words in password) + (any extra bits for separator characters) )
       

      Last edit: fritzophrenic 2015-08-05
      • fireOut

        fireOut - 2015-08-05

        I'd like to have point 1 and 2 (from your first list) merged (pullrequest?) into my repo if you don't mind...

        I'll try to have stable code (probably excluding the UI which is still under dev) merged to master then.

        Are you planning to import the txt file (copy the content to the xml config or to add the path in the xml config and then read it everytime?

        In any way, thanks again, and no rush, I'm just happy someone is contributing :)

         
        • fritzophrenic

          fritzophrenic - 2015-08-05

          I'd like to have point 1 and 2 (from your first list) merged (pullrequest?) into my repo if you don't mind...

          Sure, as soon as those are done. It may be a few days, I don't have much in the way of free time to code. I'm pretty new to git/GitHub so hopefully I'll get the pull request right. :-)

          Are you planning to import the txt file (copy the content to the xml config or to add the path in the xml config and then read it everytime?

          Right now, the plan is to have a radio button to select either the word list, or a text file path. If set to text file, the file will get read every time.That way, I can add a few pre-made word lists easily to the install directory, and users can easily maintain their own list of words wherever they like.

          After seeing the new interface, I think I'll put the same "direct entry" vs. "file path" on each word item added to the password.

          I'll go ahead and make a separate branch for those changes, I guess, based off my first changes.

           
          • fritzophrenic

            fritzophrenic - 2015-08-05

            I'd like to have point 1 and 2 (from your first list) merged (pullrequest?) into my repo if you don't mind...

            Sure, as soon as those are done. It may be a few days, I don't have much in the way of free time to code. I'm pretty new to git/GitHub so hopefully I'll get the pull request right. :-)

            Well I actually got "in the zone" and stayed up way to late to do this. Pull request created...let me know if I need to change anything.

            More coming hopefully later this week, but I'll make a new branch/pull request for those based off my first branch.

             

            Last edit: fritzophrenic 2015-08-05
            • fireOut

              fireOut - 2015-08-05

              Nice, thanks!

              I look at your pull request, commented some changes, let me know what you think.

               
    • fritzophrenic

      fritzophrenic - 2015-08-05

      append the appsetting from the app.config to the keepass.exe.config, this is how I tested last

      I could do that, and will for now...but eventually should the code instead use some of the methods I linked to read from a DLL-specific file? I wonder how well this will work if I tried using a .plgx format like other KeePass plugins...

       
      • fireOut

        fireOut - 2015-08-05

        Yeah, it should probably be best; to have it's own separated configuration file. I haven't look into the details of the plgx format back when I started the project, I wanted to be able to specify a file path quickly so I did not dive deep into that part, the app.config was, for me anyway, the quickest way.

         
  • fireOut

    fireOut - 2015-08-05

    My next move (hopefuly in the coming weeks) is to merge stable code to the master branch, and then probably rebase UI on master.

    Afterward, I'd be happy to help with your todo list fritzophrenic. You can add them as improvement issues to the github project if you like (and if you have access to?)

     

    Last edit: fireOut 2015-08-05

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.