" /> Belligero Productions

Belligero

Because I can...

 
  • Increase font size
  • Default font size
  • Decrease font size
Belligero Productions

NetworkManager Automatic Web Authentication 0.2

E-mail Print PDF

Well, it's been a few weeks since my 0.1, and while I've been busy with other assignments, I've managed to get my 0.2 working.

Changes since 0.1:

  • Memory management is now proper (releases the DBus Connection)
  • dbusClient now requires more verbose naming
    • used to just pass "inside" and full name would become "org.freedesktop.nmautologin.inside", now full string has to be passed
    • sendSignal requires object name, interface name, message name, and message to be sent, rather than just message name and message.  the first two were built-in to the client
  • With the above, dbusClient has been split into its own extension, allowing others to make easier use of it withoutthe nmAutologin extension installed
    • Better compiler settings for output.  Verbose and silent, currently compiled with verbose output
  • Sent a message to the NetworkManager mailing list about the idea, and got replies
    • They do not want the information stored in NM itself
    • Will be using a daemon to be the in-between
  • The nmAutologin extension has pushed the dbusClient processing into a background thread
    • Now able to use Firefox/Minefield while it islistening for incoming signals
    • Pops up alert box when message received
    • Makes sure listener is stopped when last browser window closed
  • For simplicity's sake, this is being released x86 only.  It has not been tested on a 64-bit system
  • The code in the nmAutologin extension has been split up into multiple files, to make for better organization
    • startup.js
      • contains the startup() and shutdown() methods along with the code to start and run the DBus thread
    • process.js
      • contains the sendSignal() and handleMessage() methods
      • Will be used to hold the methods for processing a signal when received
    • settings.js
      • Contains connName, objName, interfaceName,and msgName strings
      • Open to hold any more settings that may be needed

Instructions for use:

  1. Download and extract the tarball
  2. Install both the nmautologin.xpi and dbusclient-x86.xpi files into Firefox
  3. Start firefox, and if from a terminal, enjoy the verbose output
  4. Run the dbus executable from the tarball in a terminal:
    1. To send a signal: ./dbus send "message"
  5. Try sending various messages to Firefox at given intervals

If you want to compile the packages themselves, simpoly follow the instructions in my 0.1 release post.  The only difference is that the dbusclient directory is the one to be compiled in Firefox source.  Its *.xpi can be grabbed from objdir/dist/xpi-stage and installed directly.

Now, my plans for 0.3:

  • Look into NetworkManager, find out exactly what indormation it sends, its naming schemes, etc.
  • Make a daemon to listen for these and pass them to Firefox, along with a URL
    • URL will likey be a generic one for testing purposes, until a proper storage system is implemented
  •  When Firefox receives these signals, open a new tab and go to the URL
  • If time permits (which it likely will not) get Firefox to automatically login to the page, if it has such a form
After this, I have 8 months of coop work, and shall not be in school.  If I don't get overwhelmed by other things I want to work on, I'm hoping to have a 0.9 before I come back in the fall, which will do pretty much everything needed.
 

NetworkManager Automatic Web Authentication updates

E-mail Print PDF

From  my previous blog post for my 0.1 release...

Stated 0.2 expectations:

  • Submit a bug report for NetworkManager about the automatic web authentication
  • Start hacking the NM code to allow signals to be sent to the extension for various events
  • Get the extension to be more like an event listener for the signals being sent

 Hopefuls/What I was thinking would be good:

  • Double-check that my memory management is proper
  • Make the dbusClient constructor accept arguments for DBus interface and object paths, to make it better for others to use
  • Along with the above, change extension settings for the XPCOM side to let it be compiled without the name "nmautologin" alowing for the components to be used without the other half
  • get the XPCOM to work on all systems (that part of the article simply has "TODO" there)

Modified and met expectations:

  • Sent an email to the mailing list for NetworkManager about the automatic web authentication
  • Got the extension to run in the background listening for the signals being sent
  • Changed extension settings for the XPCOM side to let it be compiled with the name "dbusclient" allowing for the components to be used without the primary extension (could be used by others purely for DBus)

What I hope to have done by submission time:

  • Double-check that my memory management is proper
  • Make the dbusClient constructor accept arguments for DBus interface and object paths, to make it better for others to use

What I will NOT be doing, for either 0.2, 0.3, or later:

  • Start hacking the NM code to allow signals to be sent to the extension for various events
    • Consensus is to have daemon running listening to NM and passing on to Firefox
    • Firefox extension would need to be able to connect to the DBus System Bus (where NM talks) which is tightly held down, rather than the Session Bus I'm using now
  • get the XPCOM to work on all systems (that part of the article simply has "TODO" there)
    • With a third program compiled anyways, this makes more sense being compiled specific to the architecture
On a different note, Scott Lunel has contributed to my project, by providing me with a screenshot and the HTML for his work's login page.  I will be adding this to the wiki page soon enough.
 

My experiences at FSOSS

E-mail Print PDF

Well, I have attended FSOSS, and I must say, it was interesting.  It wasn't quite what I was expecting--less fanfare, primarily--but still interesting to go to.

The best presentation I saw was the first, and this primarily because it actually interested me: Extending Eclipse.  Before this, I never knew that there were non-IDE apps built on top of the Eclipse platform, or that it had a web interface that could (relatively) easily be implemented for general use.

If there's one thing I learned about it, it's to read the descriptions, not just the titles, opf the presentations.  While the last one I saw2 (about legal notices) was interesting, from the title, I had thought it was more about getting the public's attention about a new project.  Reading the descriptions, I'm pretty sure one of the other ones going on at the same time was closer to what I was hoping for: the one about building a community.  Seeing the last 10 minutes or so of this, I have to say, this guy was likely the best presenter there, though this could easily be skewed by the short period I was watching him for.

I've also realized: don't get sicvk on the Friday morning; I wound up missing out on sessions 3 and 4, ans the lunch in the middle, since I had to go home and sleep, otherwise I'd be sleeping during the presentations.

All in all, I'd say it was worth my while, and I will surely be back next year, especially while I'm still a student.

 

Dive into Mozilla Modifying Firefox using an Extension Lab

E-mail Print PDF

After doing my 0.1 release, and the previous labs of looking into code, I didn't really learn a lot from this lab.  If I hadn't already done most of this, it would have been more interesting.

Labs like this I would reccomend doing earlier in the semester, when those who need to learn what the lab teaches can learn it, making assignments a lot easier.  By this point in the course, anybody who needs to know how to make an extension would already have learned to do so, making it a bit pointless.

 

NetworkManager Web Authentication: 0.1 Release

E-mail Print PDF

This is my official 0.1 release for the NetworkManager Web Authentication program I have been working on. This is a much more formal release than the one I did last night, and as such, will have a lot more information.  If you do not know anything about this, there is a page on this wiki detailing the specifics of the idea.

What this release is, at present:

  • Firefox Extension
  • Linux-only
  • C++ XPCOM object to communicate with DBus
  • Communication between the extension and another running program via DBus
  • A few prompts and dialog boxes as a proof of concept

A basic how-to to use this extension:

  1. Download and extract the tarball
  2. Install the correct Firefox extension (x86 or x86_64) as they are not cross-platform
  3.  Start Firefox.  You will be presented with a series of prompts
  4. Run the dbus executable from the tarball in a terminal as follows:
    1. To receive a signal: ./dbus receive
    2. To send a signal: ./dbus send "message"
  5. Try sending various pieces of information back and forth
  6. When done, disable or uninstall the extension to make sure you don't get the prompts every time it starts

More information on this follows...

 

Read more...
 
  • «
  •  Start 
  •  Prev 
  •  1 
  •  2 
  •  3 
  •  4 
  •  Next 
  •  End 
  • »


Page 1 of 4

User Login

RSS Feed

Global