[Project] An extensible (plugin based) windows service that performs actions for NFC events



  • @Lokki
    Also, I just left mine locked for about 3 hours while i was out and it was still running when I came back. So we'll have to troubleshoot for cause (i cant immediately replicate it).


  • Community Helper

    I saw it happen this time - I don't use a screen saver or anything but the screen blinked black. Then no login.

    16-02-17 17:49:05 Core starting
    16-02-17 17:49:05 Core started
    16-02-17 17:49:05 NFC Reading started
    16-02-17 17:49:05 Plugins loading
    16-02-17 17:49:05 Plugins loaded
    16-02-17 17:49:05 Service started
    16-02-17 17:49:10 Session state changed: SessionLock
    16-02-17 17:49:10 Core stopping
    16-02-17 17:49:10 NFC Reading stopped
    16-02-17 17:49:10 Core stopped
    16-02-17 17:49:10 Workstation Locked
    16-02-17 17:54:51 Session state changed: SessionUnlock
    16-02-17 17:54:51 Workstation unlocking or logging on
    16-02-17 17:54:53 Core starting
    16-02-17 17:54:53 Core started



  • Package updated. Now with even more logging.
    Also, I tested it on win 7 and 10 tonight so I can confirm it works on everything since win7 and its just specific configurations that have problems that I need to look at.



  • Apologies to anyone who is in the process of updating, I just remembered that I needed to handle bad data from a card reader better than just crashing the whole system. So I've just added update 6.



  • Okay. Update 7 is the last for the night. Could other users with windows 10 please test and see if the credential provider / unlock part fails if the machine is left locked for 5 minutes. I need to find out if it is specific hardware that is causing it or windows 10 in general.
    Thanks.
    Maz



  • Random question. Does anyone actually need a 32-bit version?
    I just had a quick look and I don't think there is any reason it can't be made except that I don't have a single 32-bit machine anywhere (not even among friends and family) so I'm not sure its worth any effort.
    Maz


  • Community Helper

    There'll be someone out there who is stuck running 32 bit. I have a 32 bit win10 machine here for testing.



  • I am alive. I made it to the USA and i have my nfc reader with me. Unfortunately, I don't have a PC yet but I can continue development using my laptop (and windows 7).
    If people could use the issue tracker on https://github.com/mclear/Sesame that'd give my work a bit more direction.
    Thanks
    Maz


  • NFC Ring Team

    Welcome to the US Maz! We hope you settle in well!



  • I was just tinkering and found a neat feature. Because my credential provider talks to the service, I can have it suspend the services normal functions when a credential window is active. Which means I can use my ring to log into remote servers etc. its just a matter of getting the name of the server from the context of the credential provider (im sure its there somewhere. otherwise it sends my usual username and password).
    Anyway. just thought that was cool.
    Maz


  • NFC Ring Team

    @maz_net_au haha yeah that is awesome!! Video coming soon? :p



  • I'm in Japan again for a while. Hopefully today I can go and source some tiny NFC reader from Akihabara and then continue working on it this weekend (its a long weekend in Japan). I'll definitely post a video when i've made some more progress. I'll also update the github. But now that I've got this idea, I'm going to move the credential provider part of the service as a main part, rather than as a plugin so that it makes more sense to use this so suspend plugin processing (so that swiping a ring with an RDP credential prompt up doesnt lock your local machine instead of passing the login). Otherwise i'd have to make a more complex rules engine for processing plugins

    i.e. you'd "activate" a plugin to run "only when the machine is logged in" and set the order that they ran and also make one be able to stop processing all of the others. and this might have to be registered on a "per ring" basis.
    so
    check ring
    -> get list of plugins
    -> get machine state (locked, unlocked, awaiting credential)
    -> run plugins in order
    -> check plugin result, and stop processing plugins if required

    Its all doable. I'll work on it and post an update when i've made a decision for how I want to do things.