https://wiki.cdot.senecacollege.ca/w/api.php?action=feedcontributions&user=Pcvitori&feedformat=atomCDOT Wiki - User contributions [en]2024-03-19T12:07:32ZUser contributionsMediaWiki 1.30.0https://wiki.cdot.senecacollege.ca/w/index.php?title=Project_List&diff=12020Project List2007-05-11T02:40:11Z<p>Pcvitori: /* Help Ship Firefox 2.0.0.2 and 1.5.0.10 */</p>
<hr />
<div>[[IMAGE: MozillaAtSeneca3.jpg]]<br />
<br />
You can get involved with any of the projects below. Please see [[Assignment 2]] for details. To join a project create a page for it, following the example of [[Sample Project]] below. <br />
<br />
== Active Projects ==<br />
<br />
===[[Generalization of Joga extension]] ===<br />
<br />
We worked with partners to create an [http://www.joga.com/jogacompanion.aspx extension] for delivering World Cup scoring updates as well as providing country-specific themes. We'd like someone to take it apart, remove or refactor the [http://www.joga.com/jogacompanion.aspx Joga]-specific pieces so that it can be used for other such data sources (hello, hockey?), and write some basic documentation for how to create your own notification-and-theme extension from the toolkit that results.<br />
<br />
Related tech and skills: XUL, JavaScript, documentation, web services<br />
<br />
=== [[XULRunner Guide]] ===<br />
<br />
The [http://en.wikipedia.org/wiki/XULRunner XULRunner project] provides an "application runner" for building apps -- like Firefox, Thunderbird, and Sunbird -- atop the [http://developer.mozilla.org/en/docs/Toolkit_API Mozilla toolkit] framework. It needs a guide outlined, high-priority parts written, and examples created to help people get started.<br />
<br />
Related tech and skills: XUL, documentation, cross-platform testing<br />
<br />
Reference: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunner<br />
<br />
=== [[Breakpad development and server operation]] ===<br />
<br />
The [http://code.google.com/p/google-breakpad/ Breakpad project] is developing an open source crash reporting and analysis system, analogous to [http://en.wikipedia.org/wiki/Crash_reporter#Talkback Talkback]. There's lots of work to do on wiring it into the build system, operating servers for collecting and analyzing data, and extending Firefox's use of it to collect additional helpful information (like installed extensions, memory usage, etc.) <br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=216827 Bug 216827], [http://gemal.dk/blog/2006/09/13/talkback_to_be_replaced_by_airbag/?from=rss-category here], and [http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/ here]<br />
<br />
=== [[Calendar stuff]] ===<br />
<br />
The [http://www.mozilla.org/projects/calendar/ Calendar project] has lots of stuff for people to do, from [http://www.microsoft.com/exchange/default.mspx Exchange] connectors to off-line caching to bug fixes and minor features galore. A good place to start is the #calendar IRC channel on moznet.<br />
<br />
=== [[OS X Keychain integration]] ===<br />
<br />
It would be great to store Firefox's saved passwords in the [http://en.wikipedia.org/wiki/Apple_Keychain OS X keychain], for consistency and ease of use.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 Bug 106400]<br />
<br />
=== [[CSS guide]] ===<br />
<br />
The [http://developer.mozilla.org Mozilla Developer Center] would like to add a CSS guide to its set of major documents, covering at least the top 100 CSS properties in use on the web today. This data can be obtained through tools . It should include numerous examples, and a fair number of small tutorial/how-to sections for different common tasks or requests from web authors. <br />
<br />
Reference: [http://developer.mozilla.org/en/docs/CSS_Reference CSS Reference]<br />
<br />
=== [[Delta debugging framework]] ===<br />
<br />
[http://en.wikipedia.org/wiki/Delta_Debugging Delta debugging] is an automated approach to debugging that isolates failures systematically. Given a failing test that can be mechanically verified (including a browser crash), [http://en.wikipedia.org/wiki/Delta_Debugging delta debugging] is a way of automatically isolating the change that introduced the failure. Having a framework in place to pull builds from CVS, bisect by date and change set (using [http://en.wikipedia.org/wiki/Bonsai_CVS_code_management_system bonsai ] data -- remember, CVS doesn't have changesets!), and report results would let computers make developers more productive.<br />
<br />
=== [[D-Bus and other Linux desktop integration improvements]] ===<br />
<br />
Various Linux distributors have patches in their Firefox packages that add bits and pieces of Linux integration, and we'd like to see even more available. One particular area of interest is controlling the browser via [http://en.wikipedia.org/wiki/D-BUS d-bus], and exposing [http://en.wikipedia.org/wiki/D-BUS dbus] events to the application and extensions.<br />
<br />
=== [["Avoid loading the same page twice" Extension]] ===<br />
<br />
Create an extension to Firefox so that when a bookmark is clicked, and that site is already open in any tab in any window, that tab/window is brought to the front rather than loading the page again.<br />
<br />
Related tech and skills: XUL, JavaScript<br />
<br />
=== [[APNG]] ===<br />
<br />
[[APNG]] stands for Animated PNG, an extension to the PNG specification to allow for animated PNG images. Similar to how Animated GIF is an extension of GIF. Create such a thing.<br />
<br />
=== [[Mozilla@Seneca Wiki Administration]] ===<br />
This wonderful wiki needs attention too! Already there are configuration issues that need to get fixed, extensions we could be using, etc. As we push further with this, we'll come up with more things too. This work will require knowledge of PHP, server administration, knowledge of [http://www.mediawiki.org/wiki/MediaWiki MediaWiki].<br />
<br />
=== [[Bug Triage Extension|Buggy Bar - Bug Triage Extension]] ===<br />
<br />
Mike Beltzner suggested this one after his talk. The idea is to make it trivial for testers to follow-through a bug's Steps To Reproduce (STR) so as to confirm it. A tester should be able to use this Extension to ask for a bug (i.e., one would be picked for him/her--no querying) and then a sidebar or similar would appear showing the steps to follow. Under that would need to be a way (e.g., buttons) to say that the bug is confirmed or not. Ideally the QA team could prioritize bugs so they appear in this list automatically, making it easier for testers to get the "right" bugs quickly.<br />
<br />
Reference: talk to beltzner.<br />
<br />
=== [[Extending the Buildbot]] ===<br />
<br />
This project is a catch-all for Buildbot development done here. The Buildbot is an automated build system written in python. It is used on the Mozilla Seneca Cluster.<br />
<br />
Related skills: Python<br />
<br />
=== [[Distcc With MSVC]] ===<br />
<br />
Speed up Mozilla's builds by letting them use MSVC with distcc on Windows.<br />
<br />
=== [[Unit Testing]] ===<br />
<br />
Programmatic testing of software. The participant will take a section of code and write unit tests for it, fully testing all aspects of the code. This may require the creation of a unit testing framework and interfacing with other developers who know a particular module or service. The programmer will be adept at finding boundary cases and creating tests that deliberately break the software through code. These may lead to the creation of bugs in [http://bugzilla.mozilla.org bugzilla].<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[DDE Bug Within The Address Bar]] ===<br />
<br />
Currently there is a bug in Firefox such that when running 3 or more instances of the browser, the address bar loses focus when cutting and pasting a string. Regular typing works perfectly when the bug is present. The purpose of this project is to track down and attempt to fix this bug. <br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=220900 Bug 220900].<br />
<br />
=== [[MDC Infrastructure]] ===<br />
<br />
Integrate new features to MDC, work on existing bugs and fix compatibility issues for the upgrade of Mediawiki to 1.7. (Tentative description)<br />
<br />
=== [[Firefox Performance Testing : A Python framework for Windows]] ===<br />
<br />
Building new tests, improving on existing ones, strengthening the framework itself and porting it to other OS's<br />
<br />
Related to the '''Performance Testing Project'''<br />
<br />
Reference: alice<br />
<br />
'''Note: Not the typical mundane black box testing'''<br />
<br />
=== [[Vista Testing]] ===<br />
<br />
Testing Firefox on the new Microsoft Vista operating system.<br />
<br />
=== [[Mozilla@Seneca Cluster Administration]] ===<br />
<br />
Administration of the Mozilla cluster at Seneca.<br />
<br />
=== [[Source Code Indexing Service Analysis]] ===<br />
<br />
Mozilla is evaluating Subversion for revision control, and at the same time wants to look at other source indexing services. This project will setup, document, and test other potential services (e.g., fisheye, opengrok, mxr) on one of the Seneca-Mozilla servers. In each case this requires configuration changes and some scripting to get the services to properly integrate with Mozilla’s other on-line tools. When the test services are installed and synched with the live source tree, Mozilla will point its developers to them and get feedback—-the students will help collect and synthesize this feedback.<br />
<br />
=== [[mozilla_based_accessibility|Mozilla Based Accessibility]] ===<br />
<br />
To work with the accessibility team on screen reader compatibility issues outside of Firefox, fixing bugs using XUL in Songbird or Thunderbird or Sunbird calendar etc.<br />
<br />
=== [[Simple_Citation|Simple Citation]] === <br />
<br />
Create a Firefox extension that will allow citations to be easily generated.<br />
<br />
=== [[Functional Testing]] ===<br />
<br />
Testing performed from a user's perspective. Includes the running and writing of test cases in [http://litmus.mozilla.org Litmus], filing and tracking bugs through [bugzilla.mozilla.org bugzilla], stress-testing and exploratory debugging. This project requires a dedication to breaking software in an organized and repeatable fashion. There is no such thing as "the wrong way" to use software and the functional tester is adept at abusing a system in previously-unknown ways.<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[Firefox Performance Testing : A Python framework for Windows | Performance Testing]] ===<br />
<br />
Extending the performance toolkit and tinderbox reporting system. The project begins with a framework for testing page loads and startup times in Win32. The successful completion of this project will see this framework develop into a more robust system complete with processor-timing information and graphing. Memory analysis and samples during runs would also be beneficial. Further success or sub-projects could include porting the system Linux and OS X platforms.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=346785 Bug 346785]. Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[XML_3D_-_BTS530/630_Project|XML 3D Project]] ===<br />
<br />
This project is being built by Mark Paruzel and Yi (Eric) Shen for BTS530. It involves the incorporation of new HTML tags into a document that would correspond to a 3D interface. The successful completion of this project will yield an easy-to-use developer interface that takes advantage of cient size 3D hardware.<br />
<br />
=== [[Font Testing]] ===<br />
<br />
This project - recently started at the English Language Institute to find/report problems with font in Firefox 3.<br />
<br />
=== [[Mozilla Web Tools]] ===<br />
<br />
While most people think only about the building of browsers, Mozilla also has substantial investment in server-side web tools. This project is a catch-all for activities related to PHP and other web developent.<br />
<br />
== Potential Projects -- You busy? ==<br />
<br />
=== [[Sample Project]] ===<br />
<br />
This is a sample project stub. You can use the template for [[Sample Project]] in order to create a project page for one of the stubs below. This is how you 'sign-up' for a project.<br />
<br />
NOTE: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the '''Project Leader(s)''' page. Otherwise, you can become a contributor later.<br />
<br />
=== Add SMTP Failover Support to Thunderbird ===<br />
<br />
When sending mail in Thunderbird, if the default SMTP server fails, the error dialog shown to the user should prompt with the choice of using another SMTP server--assuming one is present in the Account Settings. This is similar to, and perhaps the same as, the '''Thunderbird SMTP Auto-Sensing''' project idea.<br />
<br />
=== Thunderbird SMTP Auto-Sensing ===<br />
<br />
Modify Thunderbird so that it uses the correct SMTP server for your current network and IP. In other words, if you are at home, use your home ISP's SMTP, but if you use a school wireless network, switch to the school's SMTP. These various SMTP configurations should be manually controlled by the user, that is, you don't have to try and figure out which SMTP to use. Rather, it should be configurable in an options dialog.<br />
<br />
=== Firefox Session Saver Extension ===<br />
<br />
Write a simple (i.e., nothing more than a simple "save session") extension to leverage the existing [http://developer.mozilla.org/en/docs/Session_restore_API Session Store API] in order to allow the user to save his/her currently open tabs and restore them. This is similar to what Firefox does when it unexpectedly crashes and gives the user the option to restore a previous session. NOTE: there are extensions that do this already, but many of them are more feature rich than need be.<br />
<br />
=== Thunderbird Picture Preview ===<br />
<br />
Write an extension for Thunderbird that allows the user to start a slideshow preview of all images in the current message. The feature would work like this: when a mail arrives with pictures attached, a button or some other UI is added to the message that allows the slideshow to begin. When clicked, the images are shown one after the other, properly scaled to fit in the window. Consider using [http://developer.mozilla.org/en/docs/Canvas_tutorial Canvas] to do the custom graphics, and take a look at [https://addons.mozilla.org/en-US/thunderbird/addon/556 this existing Thunderbird extension] for ideas. <br />
<br />
=== Thunderbird Email Notification Enhancement ===<br />
<br />
Make Thunderbird report the folder into which a message was delivered in the New Mail notification area. See http://glazman.org/weblog/dotclear/index.php?2007/03/29/3398-thunderbird-rfe<br />
<br />
=== [[Cross-Platform Mozilla Build Farm]] ===<br />
<br />
Using the accumulated knowledge of the [[Extending the Buildbot|buildbot]] and [[Distcc With MSVC|distcc]] projects, and using the physical resources of [[Mozilla@Seneca Cluster Administration|Hera]], create a cross-platform distributed build system suitable for testing patches to Mozilla.<br />
<br />
=== [[Mozilla Source and Symbol Server]] ===<br />
<br />
This project aims to make it possible to do full debugs of nightly release builds with access to remote symbols and source code.<br />
<br />
=== Moving to a non-recursive build system ===<br />
<br />
The Mozilla build system currently recurses through thousands of invocations of "make" for a single build. New techniques allow many makefiles to be read by a single make process, which will speed up builds and allow for more correct dependency evaluation.<br />
<br />
Related tech and skills: makefiles<br />
<br />
=== Developing the Tamarin build system ===<br />
<br />
The new Tamarin project is developing a cross-platform build system based on a python replacement for GNU autoconf. Assistance is needed to develop, test, and document this new build system. Note: access to virtual machines of various operating systems such as Linux, Windows, FreeBSD, and<br />
OpenSolaris would be very useful for testing purposes.<br />
<br />
=== SVN access control via LDAP ===<br />
<br />
We have a tool called "[https://despot.mozilla.org/ Despot]" which gives us fine-grained control over access to the [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS Mozilla CVS repository]. As we start to have development hosted in [http://weblogs.mozillazine.org/preed/2006/08/subversive_subversion_conversi.html Subversion] (SVN), with account information maintained in [http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol LDAP], we'd like to have a tool to enforce and manage such controls there as well.<br />
<br />
Related tech and skills: server config, LDAP, scripting, web interface/app development<br />
<br />
Reference: See https://despot.mozilla.org/help.html and http://lxr.mozilla.org/mozilla/source/webtools/despot/README. Also, please speak with [[User:Reed|Reed Loden]] (reed) about this project.<br />
<br />
=== [[Updating JS guide and JS reference]] ===<br />
<br />
The current [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide JavaScript guide] and [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference reference ] are valuable, but in serious need of updating in both structure and content (new language features, more relevant compatibility information, improved examples).<br />
<br />
Related tech and skills: documentation, JavaScript<br />
<br />
=== [[Bugzilla component-watching]] ===<br />
<br />
It's common for a developer to want to "watch" all the bugs that are filed in a certain [https://bugzilla.mozilla.org Bugzilla] component. Mozilla uses a convoluted and painful system of synthetic accounts to simulate this capability, and we'd all really prefer to be able to do it more directly and with less opportunity for error.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=76794 Bug 76794]<br />
<br />
=== Updating and migrating of MDC content ===<br />
<br />
The [http://developer.mozilla.org Mozilla Developer Center] has rights to a bunch of content that's still hosted on various strange corners of http://www.mozilla.org and the old [http://developer.mozilla.org/en/docs/DevEdge DevEdge] archives. There are some gems in there that need dusting off and updating to reflect the realities of the modern web.<br />
<br />
Related tech and skills: web authoring, documentation, scripting, technology domains of chosen articles.<br />
<br />
=== Test framework development ===<br />
<br />
We have a number of promising prototype or proof-of-concept test frameworks for exercising Mozilla code from different directions. They need varying amounts of work to make them more robust and general, document them, and integrate them into different kinds of automation.<br />
<br />
Related tech and skills: Python, Perl, Makefiles, shell scripting, JavaScript<br />
<br />
=== OpenDarwin tinderbox image ===<br />
<br />
We would love to have a [http://en.wikipedia.org/wiki/Tinderbox_%28software%29 Tinderbox] image (e.g., VM) for testing and building on the Mac, based on the [http://www.opensource.apple.com/darwinsource/ freely-available OS X source]. Also, we'd like to get it wired into [[User:Bhearsum|Ben Hearsum's]] (bhearsum) [http://en.wikipedia.org/wiki/Buildbot buildbot] system.<br />
<br />
Related tech and skills: system configuration, scripting, light C/C++, Makefile<br />
<br />
=== FAQ mining for extension developers ===<br />
<br />
Literally every day, there are informal exchanges on IRC (e.g., #extdev, #developers, #firefox, #seneca, etc.) and newsgroups that are fantastic fodder for small, focused documents. Collect these exchanges and fleshing them out as recipes for extension authors that include sample code.<br />
<br />
=== Automated Testing ===<br />
<br />
Programmatically driving the browser to perform human-like tasks repeatedly. The programmer will have to create a framework for driving browser components in JavaScript or other scripting language to repeatedly test various pieces of the application. Ideally, the successful completion of this task will see a test or suite of tests that can be invoked by command line to start the browser, run the test suites and then exit and record the results for display or analysis.<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
<br />
=== [http://cs1.senecac.on.ca/wiki/index.php/Applescript_support_for_Firefox AppleScript support for Firefox] ===<br />
<br />
Lots of people would like to script Firefox from [http://en.wikipedia.org/wiki/AppleScript AppleScript] (or, more generally, from the [http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA]), and extension authors would like to be able to call out to [http://en.wikipedia.org/wiki/AppleScript AppleScript]/[http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA] from their code as well.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=125419 Bug 125419]<br />
<br />
=== Data Mining of Hendrix Data===<br />
<br />
This project involves the creation of reports using Hendrix data of user feedback, to better understand major issues being reported and converting them into new bugs or finding and updating existing ones.<br />
<br />
=== Talkback Report Challenge 1 ===<br />
<br />
Reference: http://wiki.mozilla.org/Mozilla_QA_Community:Talkback_Report_Challenge_1 <br />
<br />
=== Litmus Extension ===<br />
<br />
We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to [http://litmus.mozilla.org http://litmus.mozilla.org]. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla and Website Reporter integration. So we need some ideas there. If you're interested, you could collaborate with [[User:djhamp-g|David Hamp-Gonsalves]] to work on this together. <br />
<br />
=== QMO Help ===<br />
<br />
Help is needed in getting QMO together. If anyone is interested in website design, php hacking, or general graphics work, we can use some help getting QMO into better shape. <br />
<br />
Reference: [http://quality.mozilla.org/?p=5 http://quality.mozilla.org/?p=5]<br />
<br />
=== Help Ship Firefox ===<br />
<br />
If you're interested in testing, you can run test cases through [http://litmus.mozilla.org http://litmus.mozilla.org].</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Club_Moz&diff=10190Club Moz2007-02-14T14:09:35Z<p>Pcvitori: /* Club Moz Promotional Booth */</p>
<hr />
<div>=Purpose=<br />
<b>To help students get involved in the Mozilla community through its future endeavors in development, testing, support and hacking</b><br />
<br />
This club is open to technical and also non-technical people. If you don't know anything about open source or Mozilla, don't worry, we're here to help you get involved and we promise a good time :)<br />
<br />
<br />
=Committee=<br />
'''President:''' [[User:Themystic|Tom Aratyn]] (mystic)<br />
<br />
'''Vice President:''' Tiago Moreira (Tiago)<br />
<br />
'''Financial Officer:''' [[User:Elichak|Liz Chak]] (elichak)<br />
<br />
'''Events Coordinator:''' [[User:Pcvitori|Philip Vitorino]] (philly)<br />
<br />
'''Promotions Coordinator:''' [[User:Vpmirand|Vanessa Miranda]] (vanessa)<br />
<br />
'''Faculty Advisor:''' [[User:David.humphrey|Dave Humphrey]] (dave or humph)<br />
<br />
<br />
'''Email:''' clubmoz@gmail.com<br />
<br />
=Announcements=<br />
==<b>Want to work on some cool stuff? There are some cool projects waiting for you..</b>==<br />
*<b>If you're interested in any of these projects, speak to [[User:elichak | Liz Chak]] about getting involved</b><br />
*QA Site for more QA details: http://wiki.mozilla.org/Mozilla_QA_Community<br />
<br />
<br />
*<b>Talkback Report Challenge 1</b><br />
**Check out this link for detail: http://wiki.mozilla.org/Mozilla_QA_Community:Talkback_Report_Challenge_1<br />
<br />
*<b>Data mining of Hendrix data for creating reports of user feedback</b><br />
**To better understand major issues being reported and converting them into new bugs or finding and updating existing ones<br />
<br />
*<b>Litmus Extension</b> <br />
**We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to http://litmus.mozilla.org. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla and Website Reporter integration... so we need some ideas there. <br />
**If you're interested, you could collaborate with [[User:Djhamp-g | David Hamp-Gonsalves]] to work on this together.<br />
<br />
*<b>QMO Help</b><br />
**Help needed in getting QMO together. If anyone is interested in website design, php hacking, or general graphics work, we can use some help getting QMO into better shape.<br />
**Link here: http://wiki.mozilla.org/Mozilla_QA_Community#QMO_Design_.26_Planning<br />
<br />
*<b>We are getting ready to ship Firefox 2.0.0.2 and 1.5.0.10</b><br />
**If you're interested in testing, you can run test cases through http://litmus.mozilla.org.<br />
<br />
==<b>Test Days</b>==<br />
* For Calendar, 13:00 UTC on February 9th 2007 to 01:00 UTC on February 10th 2007. http://wiki.mozilla.org/Calendar:Current_QA_TestDay<br />
*For Firefox 1.510 & 2.002 RC1 builds,Friday, February 9, 2007, from 7am - 5pm PST. http://wiki.mozilla.org/Mozilla_QA_Community:Firefox_1510_2002_Community_Test_Day<br />
<br />
==Other==<br />
*<big><b>Super Fun Hack Days are moved to T3073</b></big><br />
<br />
<br />
*<big><b>Firefox 2 is offically released!!</b></big> - Oct 24 2006<br />
<br />
=Events=<br />
One of the most fun aspects of Club Moz is the fact that we run events (like Super Fun Hack Day)! Come by and get involved!<br />
<br />
Due to some unfortunate events we have had to develop a policy regarding our [[Club Moz:Events:Policy| event policy]]. By attending you accept the policy.<br />
<br />
For a complete list of upcoming Club Moz events, check out our [http://www.google.com/calendar/embed?src=clubmoz%40gmail.com calendar]!<br />
<br />
<br />
==Super Fun Hack Day==<br />
<br />
===Event Agenda===<br />
<br />
'''February 8 '''<br />
* Make sure your User Page is up under "People". This is a place for you to list the projects you're working on and your progress. Other people may use this as a point of reference to who you are. Feel free to take ownership of your user page and the projects you're working on. <br />
* [[Club_Moz#Want_to_work_on_some_cool_stuff.3F_There_are_some_cool_projects_waiting_for_you.. | Wanna work on some cool stuff? There are some projects waiting for you..]]<br />
<br />
<br />
'''February 1''' - Calendar Test Day. Details [http://wiki.mozilla.org/Calendar:Current_QA_TestDay Here]<br />
<br />
===Event Details===<br />
'''Super Fun Hack Day every Thursday'''<br />
*Open to all students no matter your technical background or level. <br />
*Bring your energy and interest and we will help turn that into new abilities and new friends.<br />
*Come by T3073 on the third floor of the TEL building. <br />
*Food and Drinks will be provided after the event. We expect to be starting at around 3:20 pm going until... :)<br />
<br />
<br />
===Super Fun Hack Day Stuff===<br />
* Proposed Flyer ([[User:elichak | Liz Chak]] (elichak) and [[User:moe|Mohammad Tirtashi]] (moe))<br />
<gallery><br />
Image:Flyer.jpg|Hack Day Flyer<br />
</gallery><br />
*[[Hack day Issues|Notes on Hack Day Issues]]<br />
*[http://elichak.wordpress.com/ elichak's log about Super Fun Hack Day]<br />
<br />
<br />
===Issues With Hack day===<br />
<br />
* [[ Hack_day_Issues]]<br />
<br />
==Club Moz planning meetings==<br />
*Open to members of the club - everyone's voice matters<br />
*Date/Time: TBA<br />
*Location: T2091 - Linux Club<br />
<br />
== Club Moz Promotional Booth ==<br />
Schedule is tentative!<br />
Please feel free to alter this schedule to reflect the actual times you will be available for the booth. If you can't make it during these times, you may remove your name:<br />
<br />
(12 Feb 2007 - 16 Feb 2007)<br />
*'''Monday: 11:40 - 1:30'''<br />
**Tiago<br />
**Mike O<br />
**Vanessa<br />
**Liz (11:40 - 12:40) <br />
*'''Tuesday: 1:30 - whenever'''<br />
**Vanessa<br />
**Mike O<br />
*'''Wednesday: 1:30 - whenever '''<br />
**Dave<br />
*'''Thursday: '''<br />
**'''9:50 - 11:40'''<br />
***Tiago<br />
**'''11:40 - 1:30'''<br />
***Mike O<br />
***Vanessa<br />
***Moe<br />
*'''Friday: 11:40 - 1:30'''<br />
**Tiago<br />
**Mike O<br />
**Tom<br />
<br />
==Meeting Minutes==<br />
<br />
* [[Club Moz:Meetings/November 9, 2006|November 9, 2006]]<br />
* [[Club Moz:Meetings/November 15, 2006|November 15, 2006]]<br />
* [[Club Moz:Meetings/November 22, 2006|November 22, 2006]]<br />
* [[Club Moz:Meetings/November 29, 2006|November 29, 2006]]<br />
* [[Club Moz:Meetings/January 9, 2006|January 9, 2006]]<br />
<br />
=News=<br />
*The Firefox2 party was a success. <br />
**Here are some [http://www.flickr.com/photos/moebt/sets/72157594346279843/ pictures].<br />
**More [http://www.flickr.com/photos/14311671@N00/ pictures]!<br />
<br />
*Club hangout on irc: irc://irc.mozilla.org/#clubmoz<br />
<br />
<br />
=Members=<br />
List of members still in progress<br />
<br />
Add your name here if you would like to be a member of Club Moz :)<br />
<br />
* [[User:dtolj|Dejan Tolj]] (dtolj)<br />
* [[User:Eldavey|Erin Davey]] (davey_girl)<br />
* [[User:Eor|Eva Or]] (eor)<br />
* [[User:jbmossop|Jeff Mossop]] (JBmossop)<br />
* [[User:Mdsouza|Mark D'Souza]] (mdsouza)<br />
* [[User:melz|Melissa Peh]] (melz)<br />
* [[User:mylau|Michael Lau]] (mylau)<br />
* [[User:moe|Mohammad Tirtashi]] (moe)<br />
* [[User:Paul|Paul Yanchun Gu]] (gpaul)<br />
* [[User:PStD|Paul St-Denis]] (pstdenis)<br />
* [[User:John64|John Ford]] (john64)<br />
* Tiago Moreira (Tiago)<br />
* Sid Kalra (crulshorukh)<br />
* [[User:djhamp-g| david hamp]] (inveigle)<br />
* [[User:jp| justin pacheco]] (jp)<br />
* [[User:robcee|Rob Campbell]], aka robcee, QA Engineer, Mozilla Corp.<br />
* [[User:Gavin|Gavin Sharp]]<br />
* [[User:Shaver|shaver]]<br />
* [[User:backinblakk|Lukas Blakk]] (lsblakk)<br />
* [[User:Saba Naqvi|Saba]] (snaqvi3)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Club_Moz&diff=10182Club Moz2007-02-13T13:41:38Z<p>Pcvitori: /* Club Moz Promotional Booth */</p>
<hr />
<div>=Purpose=<br />
<b>To help students get involved in the Mozilla community through its future endeavors in development, testing, support and hacking</b><br />
<br />
This club is open to technical and also non-technical people. If you don't know anything about open source or Mozilla, don't worry, we're here to help you get involved and we promise a good time :)<br />
<br />
<br />
=Committee=<br />
'''President:''' [[User:Themystic|Tom Aratyn]] (mystic)<br />
<br />
'''Vice President:''' Tiago Moreira (Tiago)<br />
<br />
'''Financial Officer:''' [[User:Elichak|Liz Chak]] (elichak)<br />
<br />
'''Events Coordinator:''' [[User:Pcvitori|Philip Vitorino]] (philly)<br />
<br />
'''Promotions Coordinator:''' [[User:Vpmirand|Vanessa Miranda]] (vanessa)<br />
<br />
'''Faculty Advisor:''' [[User:David.humphrey|Dave Humphrey]] (dave or humph)<br />
<br />
<br />
'''Email:''' clubmoz@gmail.com<br />
<br />
=Announcements=<br />
==<b>Want to work on some cool stuff? There are some cool projects waiting for you..</b>==<br />
*<b>If you're interested in any of these projects, speak to [[User:elichak | Liz Chak]] about getting involved</b><br />
*QA Site for more QA details: http://wiki.mozilla.org/Mozilla_QA_Community<br />
<br />
<br />
*<b>Talkback Report Challenge 1</b><br />
**Check out this link for detail: http://wiki.mozilla.org/Mozilla_QA_Community:Talkback_Report_Challenge_1<br />
<br />
*<b>Data mining of Hendrix data for creating reports of user feedback</b><br />
**To better understand major issues being reported and converting them into new bugs or finding and updating existing ones<br />
<br />
*<b>Litmus Extension</b> <br />
**We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to http://litmus.mozilla.org. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla and Website Reporter integration... so we need some ideas there. <br />
**If you're interested, you could collaborate with [[User:Djhamp-g | David Hamp-Gonsalves]] to work on this together.<br />
<br />
*<b>QMO Help</b><br />
**Help needed in getting QMO together. If anyone is interested in website design, php hacking, or general graphics work, we can use some help getting QMO into better shape.<br />
**Link here: http://wiki.mozilla.org/Mozilla_QA_Community#QMO_Design_.26_Planning<br />
<br />
*<b>We are getting ready to ship Firefox 2.0.0.2 and 1.5.0.10</b><br />
**If you're interested in testing, you can run test cases through http://litmus.mozilla.org.<br />
<br />
==<b>Test Days</b>==<br />
* For Calendar, 13:00 UTC on February 9th 2007 to 01:00 UTC on February 10th 2007. http://wiki.mozilla.org/Calendar:Current_QA_TestDay<br />
*For Firefox 1.510 & 2.002 RC1 builds,Friday, February 9, 2007, from 7am - 5pm PST. http://wiki.mozilla.org/Mozilla_QA_Community:Firefox_1510_2002_Community_Test_Day<br />
<br />
==Other==<br />
*<big><b>Super Fun Hack Days are moved to T3073</b></big><br />
<br />
<br />
*<big><b>Firefox 2 is offically released!!</b></big> - Oct 24 2006<br />
<br />
=Events=<br />
One of the most fun aspects of Club Moz is the fact that we run events (like Super Fun Hack Day)! Come by and get involved!<br />
<br />
Due to some unfortunate events we have had to develop a policy regarding our [[Club Moz:Events:Policy| event policy]]. By attending you accept the policy.<br />
<br />
For a complete list of upcoming Club Moz events, check out our [http://www.google.com/calendar/embed?src=clubmoz%40gmail.com calendar]!<br />
<br />
<br />
==Super Fun Hack Day==<br />
<br />
===Event Agenda===<br />
<br />
'''February 8 '''<br />
* Make sure your User Page is up under "People". This is a place for you to list the projects you're working on and your progress. Other people may use this as a point of reference to who you are. Feel free to take ownership of your user page and the projects you're working on. <br />
* [[Club_Moz#Want_to_work_on_some_cool_stuff.3F_There_are_some_cool_projects_waiting_for_you.. | Wanna work on some cool stuff? There are some projects waiting for you..]]<br />
<br />
<br />
'''February 1''' - Calendar Test Day. Details [http://wiki.mozilla.org/Calendar:Current_QA_TestDay Here]<br />
<br />
===Event Details===<br />
'''Super Fun Hack Day every Thursday'''<br />
*Open to all students no matter your technical background or level. <br />
*Bring your energy and interest and we will help turn that into new abilities and new friends.<br />
*Come by T3073 on the third floor of the TEL building. <br />
*Food and Drinks will be provided after the event. We expect to be starting at around 3:20 pm going until... :)<br />
<br />
<br />
===Super Fun Hack Day Stuff===<br />
* Proposed Flyer ([[User:elichak | Liz Chak]] (elichak) and [[User:moe|Mohammad Tirtashi]] (moe))<br />
<gallery><br />
Image:Flyer.jpg|Hack Day Flyer<br />
</gallery><br />
*[[Hack day Issues|Notes on Hack Day Issues]]<br />
*[http://elichak.wordpress.com/ elichak's log about Super Fun Hack Day]<br />
<br />
<br />
===Issues With Hack day===<br />
<br />
* [[ Hack_day_Issues]]<br />
<br />
==Club Moz planning meetings==<br />
*Open to members of the club - everyone's voice matters<br />
*Date/Time: TBA<br />
*Location: T2091 - Linux Club<br />
<br />
== Club Moz Promotional Booth ==<br />
Schedule is tentative!<br />
Please feel free to alter this schedule to reflect the actual times you will be available for the booth. If you can't make it during these times, you may remove your name:<br />
<br />
(12 Feb 2007 - 16 Feb 2007)<br />
*'''Monday: 11:40 - 1:30'''<br />
**Tiago<br />
**Mike O<br />
**Vanessa<br />
**Liz (11:40 - 12:40) <br />
*'''Tuesday: 1:30 - whenever'''<br />
**Vanessa<br />
**Mike O<br />
*'''Wednesday: 1:30 - whenever '''<br />
**Dave<br />
**Phil<br />
*'''Thursday: '''<br />
**'''9:50 - 11:40'''<br />
***Tiago<br />
**'''11:40 - 1:30'''<br />
***Mike O<br />
***Vanessa<br />
***Moe<br />
***Phil<br />
*'''Friday: 11:40 - 1:30'''<br />
**Tiago<br />
**Mike O<br />
**Tom<br />
<br />
===Meeting Minutes===<br />
<br />
* [[Club Moz:Meetings/November 9, 2006|November 9, 2006]]<br />
* [[Club Moz:Meetings/November 15, 2006|November 15, 2006]]<br />
* [[Club Moz:Meetings/November 22, 2006|November 22, 2006]]<br />
* [[Club Moz:Meetings/November 29, 2006|November 29, 2006]]<br />
* [[Club Moz:Meetings/January 9, 2006|January 9, 2006]]<br />
<br />
=News=<br />
*The Firefox2 party was a success. <br />
**Here are some [http://www.flickr.com/photos/moebt/sets/72157594346279843/ pictures].<br />
**More [http://www.flickr.com/photos/14311671@N00/ pictures]!<br />
<br />
*Club hangout on irc: irc://irc.mozilla.org/#clubmoz<br />
<br />
<br />
=Members=<br />
List of members still in progress<br />
<br />
Add your name here if you would like to be a member of Club Moz :)<br />
<br />
* [[User:dtolj|Dejan Tolj]] (dtolj)<br />
* [[User:Eldavey|Erin Davey]] (davey_girl)<br />
* [[User:Eor|Eva Or]] (eor)<br />
* [[User:jbmossop|Jeff Mossop]] (JBmossop)<br />
* [[User:Mdsouza|Mark D'Souza]] (mdsouza)<br />
* [[User:melz|Melissa Peh]] (melz)<br />
* [[User:mylau|Michael Lau]] (mylau)<br />
* [[User:moe|Mohammad Tirtashi]] (moe)<br />
* [[User:Paul|Paul Yanchun Gu]] (gpaul)<br />
* [[User:PStD|Paul St-Denis]] (pstdenis)<br />
* [[User:John64|John Ford]] (john64)<br />
* Tiago Moreira (Tiago)<br />
* Sid Kalra (crulshorukh)<br />
* [[User:djhamp-g| david hamp]] (inveigle)<br />
* [[User:jp| justin pacheco]] (jp)<br />
* [[User:robcee|Rob Campbell]], aka robcee, QA Engineer, Mozilla Corp.<br />
* [[User:Gavin|Gavin Sharp]]<br />
* [[User:Shaver|shaver]]<br />
* [[User:backinblakk|Lukas Blakk]] (lsblakk)<br />
* [[User:Saba Naqvi|Saba]] (snaqvi3)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Club_Moz&diff=10172Club Moz2007-02-11T23:24:56Z<p>Pcvitori: /* Club Moz Promotional Booth */</p>
<hr />
<div>=Purpose=<br />
<b>To help students get involved in the Mozilla community through its future endeavors in development, testing, support and hacking</b><br />
<br />
This club is open to technical and also non-technical people. If you don't know anything about open source or Mozilla, don't worry, we're here to help you get involved and we promise a good time :)<br />
<br />
<br />
=Committee=<br />
'''President:''' [[User:Themystic|Tom Aratyn]] (mystic)<br />
<br />
'''Vice President:''' Tiago Moreira (Tiago)<br />
<br />
'''Financial Officer:''' [[User:Elichak|Liz Chak]] (elichak)<br />
<br />
'''Events Coordinator:''' [[User:Pcvitori|Philip Vitorino]] (philly)<br />
<br />
'''Promotions Coordinator:''' [[User:Vpmirand|Vanessa Miranda]] (vanessa)<br />
<br />
'''Faculty Advisor:''' [[User:David.humphrey|Dave Humphrey]] (dave or humph)<br />
<br />
<br />
'''Email:''' clubmoz@gmail.com<br />
<br />
=Announcements=<br />
==<b>Want to work on some cool stuff? There are some cool projects waiting for you..</b>==<br />
*<b>If you're interested in any of these projects, speak to [[User:elichak | Liz Chak]] about getting involved</b><br />
*QA Site for more QA details: http://wiki.mozilla.org/Mozilla_QA_Community<br />
<br />
<br />
*<b>Talkback Report Challenge 1</b><br />
**Check out this link for detail: http://wiki.mozilla.org/Mozilla_QA_Community:Talkback_Report_Challenge_1<br />
<br />
*<b>Data mining of Hendrix data for creating reports of user feedback</b><br />
**To better understand major issues being reported and converting them into new bugs or finding and updating existing ones<br />
<br />
*<b>Litmus Extension</b> <br />
**We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to http://litmus.mozilla.org. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla and Website Reporter integration... so we need some ideas there. <br />
**If you're interested, you could collaborate with [[User:Djhamp-g | David Hamp-Gonsalves]] to work on this together.<br />
<br />
*<b>QMO Help</b><br />
**Help needed in getting QMO together. If anyone is interested in website design, php hacking, or general graphics work, we can use some help getting QMO into better shape.<br />
**Link here: http://wiki.mozilla.org/Mozilla_QA_Community#QMO_Design_.26_Planning<br />
<br />
*<b>We are getting ready to ship Firefox 2.0.0.2 and 1.5.0.10</b><br />
**If you're interested in testing, you can run test cases through http://litmus.mozilla.org.<br />
<br />
==<b>Test Days</b>==<br />
* For Calendar, 13:00 UTC on February 9th 2007 to 01:00 UTC on February 10th 2007. http://wiki.mozilla.org/Calendar:Current_QA_TestDay<br />
*For Firefox 1.510 & 2.002 RC1 builds,Friday, February 9, 2007, from 7am - 5pm PST. http://wiki.mozilla.org/Mozilla_QA_Community:Firefox_1510_2002_Community_Test_Day<br />
<br />
==Other==<br />
*<big><b>Super Fun Hack Days are moved to T3073</b></big><br />
<br />
<br />
*<big><b>Firefox 2 is offically released!!</b></big> - Oct 24 2006<br />
<br />
=Events=<br />
One of the most fun aspects of Club Moz is the fact that we run events (like Super Fun Hack Day)! Come by and get involved!<br />
<br />
Due to some unfortunate events we have had to develop a policy regarding our [[Club Moz:Events:Policy| event policy]]. By attending you accept the policy.<br />
<br />
For a complete list of upcoming Club Moz events, check out our [http://www.google.com/calendar/embed?src=clubmoz%40gmail.com calendar]!<br />
<br />
<br />
==Super Fun Hack Day==<br />
<br />
===Event Agenda===<br />
<br />
'''February 8 '''<br />
* Make sure your User Page is up under "People". This is a place for you to list the projects you're working on and your progress. Other people may use this as a point of reference to who you are. Feel free to take ownership of your user page and the projects you're working on. <br />
* [[Club_Moz#Want_to_work_on_some_cool_stuff.3F_There_are_some_cool_projects_waiting_for_you.. | Wanna work on some cool stuff? There are some projects waiting for you..]]<br />
<br />
<br />
'''February 1''' - Calendar Test Day. Details [http://wiki.mozilla.org/Calendar:Current_QA_TestDay Here]<br />
<br />
===Event Details===<br />
'''Super Fun Hack Day every Thursday'''<br />
*Open to all students no matter your technical background or level. <br />
*Bring your energy and interest and we will help turn that into new abilities and new friends.<br />
*Come by T3073 on the third floor of the TEL building. <br />
*Food and Drinks will be provided after the event. We expect to be starting at around 3:20 pm going until... :)<br />
<br />
<br />
===Super Fun Hack Day Stuff===<br />
* Proposed Flyer ([[User:elichak | Liz Chak]] (elichak) and [[User:moe|Mohammad Tirtashi]] (moe))<br />
<gallery><br />
Image:Flyer.jpg|Hack Day Flyer<br />
</gallery><br />
*[[Hack day Issues|Notes on Hack Day Issues]]<br />
*[http://elichak.wordpress.com/ elichak's log about Super Fun Hack Day]<br />
<br />
<br />
===Issues With Hack day===<br />
<br />
* [[ Hack_day_Issues]]<br />
<br />
==Club Moz planning meetings==<br />
*Open to members of the club - everyone's voice matters<br />
*Date/Time: TBA<br />
*Location: T2091 - Linux Club<br />
<br />
== Club Moz Promotional Booth ==<br />
Schedule is tentative!<br />
Please feel free to alter this schedule to reflect the actual times you will be available for the booth. If you can't make it during these times, you may remove your name:<br />
<br />
(12 Feb 2007 - 16 Feb 2007)<br />
*'''Monday: 11:40 - 1:30'''<br />
**Tom<br />
**Tiago<br />
**Mike O<br />
**Vanessa<br />
**Liz (11:40 - 12:40) <br />
*'''Tuesday: 1:30 - whenever'''<br />
**Vanessa<br />
**Mike O<br />
**Tom<br />
**Phil<br />
*'''Wednesday: 1:30 - whenever '''<br />
**Vanessa<br />
**Dave<br />
**Phil<br />
*'''Thursday: '''<br />
**'''9:50 - 11:40'''<br />
***Tiago<br />
**'''11:40 - 1:30'''<br />
***Mike O<br />
***Tom<br />
***Vanessa<br />
***Moe<br />
***Phil<br />
*'''Friday: 11:40 - 1:30'''<br />
**Tiago<br />
**Mike O<br />
**Tom<br />
<br />
===Meeting Minutes===<br />
<br />
* [[Club Moz:Meetings/November 9, 2006|November 9, 2006]]<br />
* [[Club Moz:Meetings/November 15, 2006|November 15, 2006]]<br />
* [[Club Moz:Meetings/November 22, 2006|November 22, 2006]]<br />
* [[Club Moz:Meetings/November 29, 2006|November 29, 2006]]<br />
* [[Club Moz:Meetings/January 9, 2006|January 9, 2006]]<br />
<br />
=News=<br />
*The Firefox2 party was a success. <br />
**Here are some [http://www.flickr.com/photos/moebt/sets/72157594346279843/ pictures].<br />
**More [http://www.flickr.com/photos/14311671@N00/ pictures]!<br />
<br />
*Club hangout on irc: irc://irc.mozilla.org/#clubmoz<br />
<br />
<br />
=Members=<br />
List of members still in progress<br />
<br />
Add your name here if you would like to be a member of Club Moz :)<br />
<br />
* [[User:dtolj|Dejan Tolj]] (dtolj)<br />
* [[User:Eldavey|Erin Davey]] (davey_girl)<br />
* [[User:Eor|Eva Or]] (eor)<br />
* [[User:jbmossop|Jeff Mossop]] (JBmossop)<br />
* [[User:Mdsouza|Mark D'Souza]] (mdsouza)<br />
* [[User:melz|Melissa Peh]] (melz)<br />
* [[User:mylau|Michael Lau]] (mylau)<br />
* [[User:moe|Mohammad Tirtashi]] (moe)<br />
* [[User:Paul|Paul Yanchun Gu]] (gpaul)<br />
* [[User:PStD|Paul St-Denis]] (pstdenis)<br />
* [[User:John64|John Ford]] (john64)<br />
* Tiago Moreira (Tiago)<br />
* Sid Kalra (crulshorukh)<br />
* [[User:djhamp-g| david hamp]] (inveigle)<br />
* [[User:jp| justin pacheco]] (jp)<br />
* [[User:robcee|Rob Campbell]], aka robcee, QA Engineer, Mozilla Corp.<br />
* [[User:Gavin|Gavin Sharp]]<br />
* [[User:Shaver|shaver]]<br />
* [[User:backinblakk|Lukas Blakk]] (lsblakk)<br />
* [[User:Saba Naqvi|Saba]] (snaqvi3)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration_osxkeychain.patch&diff=10154OS X Keychain integration osxkeychain.patch2007-02-09T02:07:19Z<p>Pcvitori: </p>
<hr />
<div><pre><br />
Index: mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp<br />
===================================================================<br />
--- mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp (revision 17)<br />
+++ mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp (revision 19)<br />
@@ -222,6 +222,7 @@<br />
<br />
nsPasswordManager::~nsPasswordManager()<br />
{<br />
+ delete inst;<br />
}<br />
<br />
<br />
@@ -2114,3 +2115,70 @@<br />
getter_Copies(str));<br />
aResult.Assign(str);<br />
}<br />
+<br />
+int nsPasswordManager::ChangeInternetPassword (SecKeychainItemRef itemRef, int accountNameLength, const char *accountName, int passwordLength, const void *passwordData) {<br />
+<br />
+ int rc = 0;<br />
+ <br />
+ if (accountName && passwordData) {<br />
+ <br />
+ SecKeychainAttribute attrs[] = {{ kSecAccountItemAttr, accountNameLength, (char *)accountName }};<br />
+<br />
+ const SecKeychainAttributeList attributes = { sizeof(attrs) / sizeof(attrs[0]), attrs };<br />
+ rc = SecKeychainItemModifyAttributesAndData (itemRef, &attributes, passwordLength, passwordData);<br />
+ <br />
+ } else {<br />
+ <br />
+ rc = SecKeychainItemModifyAttributesAndData (itemRef, NULL, passwordLength, passwordData);<br />
+ <br />
+ }<br />
+<br />
+ return rc;<br />
+<br />
+}<br />
+<br />
+int nsPasswordManager::RetrieveInternetPassword (<br />
+ SecKeychainRef keychain/* a reference to the keychain where the entry will be added to. If NULL then the default keychain is used. */,<br />
+ int serverNameLength, const char *serverName, int securityDomainLength,<br />
+ const char *securityDomain,int pathLength, <br />
+ const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType, <br />
+ UInt32 *passwordLength, void **passwordData,SecKeychainItemRef *itemRef){<br />
+ <br />
+ int rc = 0;<br />
+ rc = SecKeychainFindInternetPassword (keychain, serverNameLength, serverName, securityDomainLength,securityDomain,<br />
+ NULL, NULL, pathLength, path, port, protocol, authenticationType, passwordLength, passwordData, itemRef);<br />
+<br />
+ return rc;<br />
+ <br />
+ }<br />
+ <br />
+ int nsPasswordManager::AddInternetPassword (<br />
+ SecKeychainRef keychain/* a reference to the keychain where the entry will be added to. If NULL then the default keychain is used. */, <br />
+ int serverNameLength, const char *serverName /* eg. www.google.com */, <br />
+ int securityDomainLength, const char *securityDomain, <br />
+ int accountNameLength, const char *accountName /* username */, int pathLength,<br />
+ const char *path /* the path to the login form eg. www.google.com'/dir' */, <br />
+ int port /* the port by which the connection is made to the server: 80,443. etc... etc... */, <br />
+ SecProtocolType protocol /* protocol type (ftp, http and so on) */<br />
+ /* http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/c_ref/SecProtocolType */, <br />
+ SecAuthenticationType authenticationType /* authentication type idetifier */<br />
+ /* http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/c_ref/SecAuthenticationType */,<br />
+ int passwordLength, const void *passwordData /* A pointer to a buffer containing the password data to be stored in the keychain */,<br />
+ SecKeychainItemRef *itemRef /* a reference to a keychain item */) {<br />
+ int rc = 0;<br />
+ rc = SecKeychainAddInternetPassword (keychain , serverNameLength, serverName, securityDomainLength, <br />
+ securityDomain, accountNameLength, accountName, pathLength, path, port, protocol, authenticationType, <br />
+ passwordLength, passwordData, itemRef);<br />
+ <br />
+ return rc;<br />
+}<br />
+<br />
+nsPasswordManager* nsPasswordManager::getInstance(){<br />
+ if (inst == NULL) {<br />
+ inst = new nsPasswordManager;<br />
+ }<br />
+ return inst;<br />
+ <br />
+}<br />
+<br />
+nsPasswordManager* nsPasswordManager::inst = NULL;<br />
Index: mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h<br />
===================================================================<br />
--- mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h (revision 17)<br />
+++ mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h (revision 19)<br />
@@ -49,6 +49,10 @@<br />
#include "nsIPrefBranch.h"<br />
#include "nsIPromptFactory.h"<br />
<br />
+#include <CoreFoundation.h><br />
+#include <Security.h><br />
+#include <CoreServices.h><br />
+<br />
/* 360565c4-2ef3-4f6a-bab9-94cca891b2a7 */<br />
#define NS_PASSWORDMANAGER_CID \<br />
{0x360565c4, 0x2ef3, 0x4f6a, {0xba, 0xb9, 0x94, 0xcc, 0xa8, 0x91, 0xb2, 0xa7}}<br />
@@ -136,8 +140,23 @@<br />
nsIAutoCompleteResult* aPreviousResult,<br />
nsIDOMHTMLInputElement* aElement,<br />
nsIAutoCompleteResult** aResult);<br />
+ <br />
+ int AddInternetPassword (SecKeychainRef keychain, int serverNameLength, const char *serverName, int securityDomainLength, <br />
+ const char *securityDomain, int accountNameLength, const char *accountName, int pathLength,<br />
+ const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType,<br />
+ int passwordLength, const void *passwordData, SecKeychainItemRef *itemRef);<br />
+ <br />
+ int RetrieveInternetPassword (SecKeychainRef keychain, int serverNameLength, const char *serverName, int securityDomainLength,<br />
+ const char *securityDomain,int pathLength, <br />
+ const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType, <br />
+ UInt32 *passwordLength, void **passwordData,SecKeychainItemRef *itemRef);<br />
+ <br />
+ int ChangeInternetPassword (SecKeychainItemRef itemRef, int accountNameLength, const char *accountName, <br />
+ int passwordLength, const void *passwordData);<br />
+ static nsPasswordManager* getInstance();<br />
<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration_Keychain_main.cpp&diff=10153OS X Keychain integration Keychain main.cpp2007-02-09T02:06:55Z<p>Pcvitori: </p>
<hr />
<div><pre><br />
//Authors: Mohammad Tirtashi mo3b.com<br />
// Phillip Vitorino philv.com<br />
//Last changed: December 9th 2006<br />
//main.cpp<br />
<br />
#include "keychain.h"<br />
// this is just a main to test the keychain class<br />
int main () {<br />
<br />
int rcret = 0; //stores the return value when we a record is retrieved. "-25300" = no such item exists, "0" = a record already exists.<br />
int rcsav = 0; //0 = entry saved. anything else = uh oh!.<br />
int rcchg = 0; //0 = change successful. anything else = huston we have a problem.<br />
SecKeychainItemRef itemRef = NULL; // an instance of a keychain item.<br />
char website[11] = "google.com"; // the domain attribute in the keychain item.<br />
website[10] = '\0';<br />
<br />
char account[4] = "moe"; // the username attribute.<br />
account[3] = '\0';<br />
<br />
<br />
void *retpassword = NULL; //stores the retrieved password from the keychain item<br />
UInt32 retpasswordlen = NULL;<br />
const void *savpassword = "1337"; //password to be saved <br />
const void *savpassword2 = "pstdeni";<br />
<br />
char *tempretpass = NULL;<br />
<br />
keychain *test = keychain::getInstance(); //gets an instance of the keychain object.<br />
<br />
// attemps to retrieve the password for the first time. if an account exists then the password is retrieved.<br />
rcret = test->RetrieveInternetPassword(NULL,10,website,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&retpasswordlen,&retpassword,&itemRef);<br />
printf("Account exists: %d", rcret);<br />
tempretpass = new char[retpasswordlen];<br />
tempretpass = (char *)retpassword;<br />
printf("\nPassword is now: %s", retpassword);<br />
// if the account did not exist.<br />
if (rcret != 0) {<br />
// first we attemp to add a new keychain item.<br />
rcsav = test->AddInternetPassword(NULL,10,website, NULL, NULL, 3, account, NULL, NULL , 20, kSecProtocolTypeFTP, 1,4, savpassword, NULL);<br />
printf("\nAccount added: %d", rcsav);<br />
// if saving the keychain item was successful<br />
if (rcsav == 0){<br />
// retrieving password from the keychain item we just added<br />
rcret = test->RetrieveInternetPassword(NULL,10,website,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&retpasswordlen,&retpassword,&itemRef);<br />
printf("\nAccount exists: %d", rcret);<br />
<br />
// changing the password<br />
tempretpass = new char[retpasswordlen];<br />
tempretpass = (char *)retpassword;<br />
printf("\nPassword is now: %s", retpassword);<br />
// updating the keychain item with the new password<br />
rcchg = test->ChangeInternetPassword(itemRef, 3,account,7,savpassword2);<br />
printf("\nPassword changed: %d", rcret);<br />
<br />
// retrieving the password again to see if it changed.<br />
rcret = test->RetrieveInternetPassword(NULL,10,website,NULL,NULL,NULL,NULL,NULL,NULL,NULL,&retpasswordlen,&retpassword,&itemRef);<br />
<br />
tempretpass = new char[retpasswordlen];<br />
tempretpass = (char *)retpassword;<br />
printf("\nPassword is now: %s", retpassword);<br />
<br />
}else{<br />
printf("\nFailed to add account: %d", rcsav);<br />
}<br />
}else{<br />
printf("\nAccount existed or : %d", rcret);<br />
}<br />
<br />
//SecKeychainItemFreeContent(NULL, savpassword);<br />
if (itemRef) CFRelease(itemRef);<br />
delete tempretpass;<br />
return 0;<br />
}<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration_Keychain.cpp&diff=10152OS X Keychain integration Keychain.cpp2007-02-09T02:05:58Z<p>Pcvitori: </p>
<hr />
<div><pre><br />
//Authors: Mohammad Tirtashi mo3b.com<br />
// Phillip Vitorino philv.com<br />
//Last changed: December 9th 2006<br />
//keychain.cpp<br />
<br />
#include "keychain.h"<br />
<br />
// TODO: make thread safe<br />
// TODO: change ChangeInternetPassword: add the serverNameLength to the attribute list in order to avoid collisions when searching keychain items.<br />
<br />
keychain* keychain::inst = NULL;<br />
<br />
// default constructor - serves no purpose for now<br />
keychain::keychain(){};<br />
<br />
keychain::~keychain(){<br />
delete inst; //deletes a temporary instance of a keychain object in memory.<br />
};<br />
<br />
// returns an instance of the curret keychain object in memory. If none exist then one is created.<br />
keychain* keychain::getInstance(){<br />
if (inst == NULL) {<br />
inst = new keychain;<br />
}<br />
return inst;<br />
<br />
}<br />
<br />
/* adds an internet keychain entry to the keychain database. <br />
see http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/uid/TP30000898-CH5g-95690<br />
for return codes*/<br />
int keychain::AddInternetPassword (<br />
SecKeychainRef keychain/* a reference to the keychain where the entry<br />
will be added to. If NULL then the default keychain is used. */, <br />
int serverNameLength, const char *serverName /* eg. www.google.com */, <br />
int securityDomainLength, const char *securityDomain, <br />
int accountNameLength, const char *accountName /* username */, int pathLength,<br />
const char *path /* the path to the login form eg. www.google.com'/dir' */, <br />
int port /* the port by which the connection is made to the server: 80,443. etc... etc... */, <br />
SecProtocolType protocol /* protocol type (ftp, http and so on) */<br />
/* http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/c_ref/SecProtocolType */, <br />
SecAuthenticationType authenticationType /* authentication type idetifier */<br />
/* http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/c_ref/SecAuthenticationType */,<br />
int passwordLength, const void *passwordData /* A pointer to a buffer containing the password data to be stored in <br />
the keychain */,<br />
SecKeychainItemRef *itemRef /* a reference to a keychain item */) {<br />
int rc = 0;<br />
rc = SecKeychainAddInternetPassword (keychain , serverNameLength, serverName, securityDomainLength, <br />
securityDomain, accountNameLength, accountName, pathLength, path, port, protocol, authenticationType, <br />
passwordLength, passwordData, itemRef);<br />
<br />
return rc;<br />
}<br />
<br />
/* retrieves a keychain item from the keychain database. <br />
see http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/uid/TP30000898-CH5g-95690 <br />
for return codes */<br />
int keychain::RetrieveInternetPassword (<br />
SecKeychainRef keychain/* a reference to the keychain where the entry will be added to. If NULL then the <br />
default keychain is used. */,<br />
int serverNameLength, const char *serverName, int securityDomainLength,<br />
const char *securityDomain,int pathLength, <br />
const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType, <br />
UInt32 *passwordLength,/* pointer to the length of the password data in buffer */<br />
void **passwordData,/* a pointer to a buffer containing the password */<br />
SecKeychainItemRef *itemRef){<br />
<br />
int rc = 0;<br />
rc = SecKeychainFindInternetPassword (keychain, serverNameLength, serverName, securityDomainLength,securityDomain,<br />
NULL, NULL, pathLength, path, port, protocol, authenticationType, passwordLength, passwordData, itemRef);<br />
<br />
return rc;<br />
<br />
}<br />
<br />
// modifies an existing keychain entry's password attribute<br />
int keychain::ChangeInternetPassword (SecKeychainItemRef itemRef /* a reference to the keychain item that will have its password changed */,<br />
int accountNameLength, const char *accountName, <br />
int passwordLength, const void *passwordData) {<br />
<br />
int rc = 0;<br />
<br />
if (accountName && passwordData) {<br />
// creating an attribute vector.<br />
// in this case since we're searching the keychain items by using the username as the keyword, we're only creating the Account attribute.<br />
SecKeychainAttribute attrs[] = {{ kSecAccountItemAttr, accountNameLength, (char *)accountName }};<br />
// creating a list of attributes<br />
const SecKeychainAttributeList attributes = { sizeof(attrs) / sizeof(attrs[0]) /* determining the number of attributes. In our case this is 1*/, <br />
attrs /* the vector with the username attribute in it */ };<br />
<br />
/* updating the keychain item with the new password attribute that we just created */<br />
rc = SecKeychainItemModifyAttributesAndData (itemRef, &attributes, passwordLength, passwordData);<br />
<br />
}<br />
<br />
return rc;<br />
<br />
}<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration_Keychain.cpp&diff=10151OS X Keychain integration Keychain.cpp2007-02-09T02:05:43Z<p>Pcvitori: </p>
<hr />
<div>//Authors: Mohammad Tirtashi mo3b.com<br />
// Phillip Vitorino philv.com<br />
//Last changed: December 9th 2006<br />
//keychain.cpp<br />
<br />
#include "keychain.h"<br />
<br />
// TODO: make thread safe<br />
// TODO: change ChangeInternetPassword: add the serverNameLength to the attribute list in order to avoid collisions when searching keychain items.<br />
<br />
keychain* keychain::inst = NULL;<br />
<br />
// default constructor - serves no purpose for now<br />
keychain::keychain(){};<br />
<br />
keychain::~keychain(){<br />
delete inst; //deletes a temporary instance of a keychain object in memory.<br />
};<br />
<br />
// returns an instance of the curret keychain object in memory. If none exist then one is created.<br />
keychain* keychain::getInstance(){<br />
if (inst == NULL) {<br />
inst = new keychain;<br />
}<br />
return inst;<br />
<br />
}<br />
<br />
/* adds an internet keychain entry to the keychain database. <br />
see http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/uid/TP30000898-CH5g-95690<br />
for return codes*/<br />
int keychain::AddInternetPassword (<br />
SecKeychainRef keychain/* a reference to the keychain where the entry<br />
will be added to. If NULL then the default keychain is used. */, <br />
int serverNameLength, const char *serverName /* eg. www.google.com */, <br />
int securityDomainLength, const char *securityDomain, <br />
int accountNameLength, const char *accountName /* username */, int pathLength,<br />
const char *path /* the path to the login form eg. www.google.com'/dir' */, <br />
int port /* the port by which the connection is made to the server: 80,443. etc... etc... */, <br />
SecProtocolType protocol /* protocol type (ftp, http and so on) */<br />
/* http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/c_ref/SecProtocolType */, <br />
SecAuthenticationType authenticationType /* authentication type idetifier */<br />
/* http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/c_ref/SecAuthenticationType */,<br />
int passwordLength, const void *passwordData /* A pointer to a buffer containing the password data to be stored in <br />
the keychain */,<br />
SecKeychainItemRef *itemRef /* a reference to a keychain item */) {<br />
int rc = 0;<br />
rc = SecKeychainAddInternetPassword (keychain , serverNameLength, serverName, securityDomainLength, <br />
securityDomain, accountNameLength, accountName, pathLength, path, port, protocol, authenticationType, <br />
passwordLength, passwordData, itemRef);<br />
<br />
return rc;<br />
}<br />
<br />
/* retrieves a keychain item from the keychain database. <br />
see http://developer.apple.com/documentation/Security/Reference/keychainservices/Reference/reference.html#//apple_ref/doc/uid/TP30000898-CH5g-95690 <br />
for return codes */<br />
int keychain::RetrieveInternetPassword (<br />
SecKeychainRef keychain/* a reference to the keychain where the entry will be added to. If NULL then the <br />
default keychain is used. */,<br />
int serverNameLength, const char *serverName, int securityDomainLength,<br />
const char *securityDomain,int pathLength, <br />
const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType, <br />
UInt32 *passwordLength,/* pointer to the length of the password data in buffer */<br />
void **passwordData,/* a pointer to a buffer containing the password */<br />
SecKeychainItemRef *itemRef){<br />
<br />
int rc = 0;<br />
rc = SecKeychainFindInternetPassword (keychain, serverNameLength, serverName, securityDomainLength,securityDomain,<br />
NULL, NULL, pathLength, path, port, protocol, authenticationType, passwordLength, passwordData, itemRef);<br />
<br />
return rc;<br />
<br />
}<br />
<br />
// modifies an existing keychain entry's password attribute<br />
int keychain::ChangeInternetPassword (SecKeychainItemRef itemRef /* a reference to the keychain item that will have its password changed */,<br />
int accountNameLength, const char *accountName, <br />
int passwordLength, const void *passwordData) {<br />
<br />
int rc = 0;<br />
<br />
if (accountName && passwordData) {<br />
// creating an attribute vector.<br />
// in this case since we're searching the keychain items by using the username as the keyword, we're only creating the Account attribute.<br />
SecKeychainAttribute attrs[] = {{ kSecAccountItemAttr, accountNameLength, (char *)accountName }};<br />
// creating a list of attributes<br />
const SecKeychainAttributeList attributes = { sizeof(attrs) / sizeof(attrs[0]) /* determining the number of attributes. In our case this is 1*/, <br />
attrs /* the vector with the username attribute in it */ };<br />
<br />
/* updating the keychain item with the new password attribute that we just created */<br />
rc = SecKeychainItemModifyAttributesAndData (itemRef, &attributes, passwordLength, passwordData);<br />
<br />
}<br />
<br />
return rc;<br />
<br />
}</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration_Keychain.h&diff=10150OS X Keychain integration Keychain.h2007-02-09T02:04:43Z<p>Pcvitori: </p>
<hr />
<div><pre><br />
//Authors: Mohammad Tirtashi mo3b.com<br />
// Phillip Vitorino philv.com<br />
//Last changed: December 9th 2006<br />
//keychain.h<br />
#ifndef _keychain_h<br />
#define _keychain_h<br />
<br />
#include "keychain.h"<br />
#include <CoreFoundation/CoreFoundation.h><br />
#include <Security/Security.h><br />
#include <CoreServices/CoreServices.h><br />
<br />
class keychain {<br />
private:<br />
keychain();<br />
static keychain* inst;<br />
<br />
public:<br />
// adds an internet keychain entry to the keychain database. <br />
int AddInternetPassword (SecKeychainRef keychain, int serverNameLength, const char *serverName, int securityDomainLength, <br />
const char *securityDomain, int accountNameLength, const char *accountName, int pathLength,<br />
const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType,<br />
int passwordLength, const void *passwordData, SecKeychainItemRef *itemRef);<br />
// retrieves a keychain item from the keychain database. <br />
int RetrieveInternetPassword (SecKeychainRef keychain, int serverNameLength, const char *serverName, int securityDomainLength,<br />
const char *securityDomain,int pathLength, <br />
const char *path, int port, SecProtocolType protocol, SecAuthenticationType authenticationType, <br />
UInt32 *passwordLength, void **passwordData,SecKeychainItemRef *itemRef);<br />
// modifies an existing keychain entry's password attribute <br />
int ChangeInternetPassword (SecKeychainItemRef itemRef, int accountNameLength, const char *accountName, <br />
int passwordLength, const void *passwordData);<br />
// returns an instance of the curret keychain object in memory. If none exist then one is created.<br />
static keychain* getInstance();<br />
~keychain();<br />
};<br />
<br />
#endif<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=10149OS X Keychain integration2007-02-09T02:04:23Z<p>Pcvitori: /* Code Pages */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.<br />
<br />
* '''December 3rd, 2006''' - Phil decided to implement our working code on friday into the current Firefox build. Thanks to MAC1 crashing, a network cable missing from MAC2, and the orange Firefox build for Mac OS X, I didnt accomplish anything.<br />
<br />
* '''December 8th, 2006''' - Both MAC1 and MAC2 have been fixed. Myself and Moe began hacking our Keychain code into the Mozilla tree, through the nsPasswordManager.cpp file. This file is primarily used by Firefox to record and retrieve passwords from a flat file system. As we were implementing the code, we realized that FF wont build unless the security framework was included into the build process. Venturing into IRC produced the following results:<br />
:* We have to include the '''-framework Security''' into the build process where ever we are linking in the tree.<br />
:* We were unsuccessful with our first attempt at building Firefox, with the our keychain code:<br />
<pre><br />
c++ -o nsPasswordManager.o -c -DMOZILLA_INTERNAL_API -DOSTYPE=\"Darwin8.8.2\" -DOSARCH=\"Darwin\" -DBUILD_ID=0000000000 <br />
-I../../../../dist/include/necko<br />
-I../../../../dist/include/xpcom -I../../../../dist/include/string -I../../../../dist/include/windowwatcher <br />
-I../../../../dist/include/uriloader <br />
-I../../../../dist/include/pref -I../../../../dist/include/intl -I../../../../dist/include/dom <br />
-I../../../../dist/include/content <br />
-I../../../../dist/include/layout -I../../../../dist/include/widget -I../../../../dist/include/autocomplete <br />
-I../../../../dist/include/pipnss <br />
-I../../../../dist/include/unicharutil -I../../../../dist/include -I../../../../dist/include/passwordmgr <br />
-I../../../../dist/include/nspr -DMOZ_PNG_READ <br />
-DMOZ_PNG_WRITE -I../../../../dist/sdk/include -mdynamic-no-pic -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align <br />
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -fpascal-strings -no-cpp-precomp -fno-common -fshort-wchar <br />
-I/Developer/Headers/FlatCarbon -pipe -DNDEBUG -DTRIMMED -O -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/nsPasswordManager.pp <br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp<br />
In file included from /Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:39:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:52:28: error: <br />
CoreFoundation.h: No such file or directory<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:53:22: error:<br />
Security.h: No such file or directory<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:146: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:146: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:151: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:151: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:159: error: <br />
ISO C++ forbids declaration of 'keychain' with no type<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:159: error: <br />
expected ';' before '*' token<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In destructor 'virtual<br />
nsPasswordManager::~nsPasswordManager()':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:225: error: <br />
'inst' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In member function 'int nsPasswordManager::ChangeInternetPassword(OpaqueSecKeychainItemRef*, int, const char*, int, const void*)':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2125: error: <br />
'kSecAccountItemAttr' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2128: error: <br />
'SecKeychainItemModifyAttributesAndData' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2132: error: <br />
'SecKeychainItemModifyAttributesAndData' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: At global scope:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2144: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2144: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In member function 'int nsPasswordManager::RetrieveInternetPassword(OpaqueSecKeychainRef*, int, const char*, <br />
int, const char*, int, const char*,<br />
int, int, int, UInt32*, void**, OpaqueSecKeychainItemRef**)':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2149: error: <br />
'SecKeychainFindInternetPassword' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: At global scope:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2162: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2164: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: In member <br />
function 'int nsPasswordManager::AddInternetPassword(OpaqueSecKeychainRef*, int, const char*, int, const char*, int, <br />
const char*, int, const char*, int, int, int, int, const void*, OpaqueSecKeychainItemRef**)':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2171: error: <br />
'SecKeychainAddInternetPassword' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In static member function 'static nsPasswordManager* nsPasswordManager::getInstance()':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2177: error: <br />
'inst' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2180: error: <br />
'inst' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: At global scope:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2184: error: <br />
'nsPasswordManager* nsPasswordManager::inst' is not a static member of 'class nsPasswordManager'<br />
make[6]: *** [nsPasswordManager.o] Error 1<br />
make[5]: *** [libs] Error 2<br />
make[4]: *** [libs] Error 2<br />
make[3]: *** [libs_tier_toolkit] Error 2<br />
make[2]: *** [tier_toolkit] Error 2<br />
make[1]: *** [default] Error 2<br />
make: *** [build] Error 2<br />
</pre><br />
:* Our custom keychain class is now fully commented and available for online viewing. A test main is provided as well as the Xcode project for those who are interesting in compiling the code.<br />
:* The following chat was recorded, discussing a new MoCo involvement in the OS X Keychain integration project:<br />
<pre><br />
20:29 <dolske> ping?<br />
20:31 <dolske> I saw to mention you're working on adding a build flag, and adding the "os x security<br />
framework"?<br />
20:33 <philly> yeah<br />
20:34 <philly> whats up?<br />
20:36 <dolske> What exactly does the latter (OS X) part mean?<br />
20:37 <philly> im working on a project that will add os x keychain support to firefox<br />
20:37 <philly> were trying to get the security framework<br />
20:37 <dolske> ah, that's what I suspected. :-)<br />
20:37 <philly> into the build.<br />
20:38 <dolske> One of the new MoCo guys was startign to look at that too, and I'm starting to whack<br />
passwordmgr with a big stick.<br />
20:39 <philly> yeah.. thats basically what were doing<br />
20:39 <philly> we have working code that add's and retreives keychain items from the keychain manager<br />
20:41 <philly> we have had working code for a while now, but dont know the moz tree well enough to<br />
implement the code.<br />
20:41 <philly> so its a lot of trial and error<br />
20:41 <dolske> You may want to ping Collin Barrett (cbarrett) so you're not duplicating work.<br />
20:41 <philly> will do<br />
20:42 <dolske> Although I think he's not actually starting for a couple of weeks, so I don't know how<br />
much he's around.<br />
20:43 <philly> i'll give me a shout as soon as i see him.. thanks for the info<br />
20:43 <philly> s/me/him/<br />
20:43 <dolske> Looks like timber@lava.net is his current email.<br />
20:44 <dolske> Also... Did you get the build flag added? I'm about to do the same, and was wondering<br />
what was involved. :-)<br />
20:45 <philly> we located flag: -framework Security<br />
20:46 <philly> there could be more<br />
20:47 <dolske> Oh, I thought you were looking at a --enable-moz-foo type flag.<br />
20:47 <philly> yeah.. we dont know if we found the right one<br />
20:48 <philly> i was talking to some of the camino guys about flags<br />
20:48 <dolske> ah.<br />
20:49 <philly> im not sure if those flags are apart of the camino build though.. it appears they know<br />
nothing about the ff build process<br />
20:49 <philly> im a student at seneca college btw.. we have a project page for this<br />
20:49 <dolske> heh, that seems to be a common problem. :-)<br />
20:50 <philly> http://zenit.senecac.on.ca/wiki/index.php/OS_X_Keychain_integration<br />
20:50 <dolske> ah, cool.<br />
20:51 <dolske> oh, Camino already supports Keychain? Hmpf.<br />
20:51 <philly> yeah.. but its not using the latest security framework from apple<br />
20:51 <dolske> ...but they're dropping it? hmm.<br />
20:51 <philly> so they're gonna pull it out<br />
20:51 <philly> otherwise<br />
20:51 <philly> we would be copying some code.. :)<br />
20:51 <dolske> ah, "why" was my next question.<br />
20:52 <dolske> I wonder if they can't use a newer framework because they want to support older OS X<br />
versions?<br />
20:53 <philly> hmm.. i never thought of that<br />
20:53 <dolske> I think FF3 will currently require 10.2 (with 10.3 recommended)<br />
20:56 <philly> yeah.. i think 10.2 is the base for the latest framework<br />
20:56 <philly> there is also a patch that you have to apply<br />
20:57 <philly> bug 360583<br />
21:12 -!- dolske [dolske@moz-46636307.office.mozilla.org ] has quit [Quit: dolske]<br />
</pre><br />
<br />
==Project Download==<br />
<br />
Currently, our latest developments into the integration of Apple's Keychain manager into Firefox can be downloaded by a zipped file or through svn.<br />
<br />
===Archive===<br />
This file contains the: <br />
:*C++ code that was written to save and retrieve items from the Keychain Manager in OS X.<br />
:*Xcode project file ready to be compiled.<br />
:*A patch is also included depicting our latest efforts in integrating the code into the Mozilla Tree.<br />
<br />
::[http://mo3b.com/keychain.zip Download archive]<br />
::[http://mo3b.com/keychain/ View the source online]<br />
<br />
==== Code Pages ====<br />
<br />
*[[OS_X_Keychain_integration_Keychain.h|keychain.h]]<br />
*[[OS_X_Keychain_integration_Keychain.cpp|keychain.cpp]]<br />
*[[OS_X_Keychain_integration_Keychain_main.cpp|main.cpp]]<br />
*[[OS_X_Keychain_integration_osxkeychain.patch|osxkeychain.patch ]]<br />
<br />
===SVN===<br />
The repository contains a snapshot of the latest Mozilla tree (captured on Dec 5th, 2006). Use the following command to download our latest code efforts.<br />
<pre><br />
svn co svn://cdot.senecac.on.ca/osxkeychain/trunk/<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=10148OS X Keychain integration2007-02-09T02:04:08Z<p>Pcvitori: /* Archive */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.<br />
<br />
* '''December 3rd, 2006''' - Phil decided to implement our working code on friday into the current Firefox build. Thanks to MAC1 crashing, a network cable missing from MAC2, and the orange Firefox build for Mac OS X, I didnt accomplish anything.<br />
<br />
* '''December 8th, 2006''' - Both MAC1 and MAC2 have been fixed. Myself and Moe began hacking our Keychain code into the Mozilla tree, through the nsPasswordManager.cpp file. This file is primarily used by Firefox to record and retrieve passwords from a flat file system. As we were implementing the code, we realized that FF wont build unless the security framework was included into the build process. Venturing into IRC produced the following results:<br />
:* We have to include the '''-framework Security''' into the build process where ever we are linking in the tree.<br />
:* We were unsuccessful with our first attempt at building Firefox, with the our keychain code:<br />
<pre><br />
c++ -o nsPasswordManager.o -c -DMOZILLA_INTERNAL_API -DOSTYPE=\"Darwin8.8.2\" -DOSARCH=\"Darwin\" -DBUILD_ID=0000000000 <br />
-I../../../../dist/include/necko<br />
-I../../../../dist/include/xpcom -I../../../../dist/include/string -I../../../../dist/include/windowwatcher <br />
-I../../../../dist/include/uriloader <br />
-I../../../../dist/include/pref -I../../../../dist/include/intl -I../../../../dist/include/dom <br />
-I../../../../dist/include/content <br />
-I../../../../dist/include/layout -I../../../../dist/include/widget -I../../../../dist/include/autocomplete <br />
-I../../../../dist/include/pipnss <br />
-I../../../../dist/include/unicharutil -I../../../../dist/include -I../../../../dist/include/passwordmgr <br />
-I../../../../dist/include/nspr -DMOZ_PNG_READ <br />
-DMOZ_PNG_WRITE -I../../../../dist/sdk/include -mdynamic-no-pic -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align <br />
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -fpascal-strings -no-cpp-precomp -fno-common -fshort-wchar <br />
-I/Developer/Headers/FlatCarbon -pipe -DNDEBUG -DTRIMMED -O -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/nsPasswordManager.pp <br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp<br />
In file included from /Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:39:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:52:28: error: <br />
CoreFoundation.h: No such file or directory<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:53:22: error:<br />
Security.h: No such file or directory<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:146: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:146: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:151: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:151: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:159: error: <br />
ISO C++ forbids declaration of 'keychain' with no type<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.h:159: error: <br />
expected ';' before '*' token<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In destructor 'virtual<br />
nsPasswordManager::~nsPasswordManager()':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:225: error: <br />
'inst' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In member function 'int nsPasswordManager::ChangeInternetPassword(OpaqueSecKeychainItemRef*, int, const char*, int, const void*)':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2125: error: <br />
'kSecAccountItemAttr' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2128: error: <br />
'SecKeychainItemModifyAttributesAndData' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2132: error: <br />
'SecKeychainItemModifyAttributesAndData' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: At global scope:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2144: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2144: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In member function 'int nsPasswordManager::RetrieveInternetPassword(OpaqueSecKeychainRef*, int, const char*, <br />
int, const char*, int, const char*,<br />
int, int, int, UInt32*, void**, OpaqueSecKeychainItemRef**)':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2149: error: <br />
'SecKeychainFindInternetPassword' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: At global scope:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2162: error: <br />
'SecProtocolType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2164: error: <br />
'SecAuthenticationType' has not been declared<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: In member <br />
function 'int nsPasswordManager::AddInternetPassword(OpaqueSecKeychainRef*, int, const char*, int, const char*, int, <br />
const char*, int, const char*, int, int, int, int, const void*, OpaqueSecKeychainItemRef**)':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2171: error: <br />
'SecKeychainAddInternetPassword' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: <br />
In static member function 'static nsPasswordManager* nsPasswordManager::getInstance()':<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2177: error: <br />
'inst' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2180: error: <br />
'inst' was not declared in this scope<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp: At global scope:<br />
/Users/philly/keychain/osxkeychain/trunk/mozilla/toolkit/components/passwordmgr/base/nsPasswordManager.cpp:2184: error: <br />
'nsPasswordManager* nsPasswordManager::inst' is not a static member of 'class nsPasswordManager'<br />
make[6]: *** [nsPasswordManager.o] Error 1<br />
make[5]: *** [libs] Error 2<br />
make[4]: *** [libs] Error 2<br />
make[3]: *** [libs_tier_toolkit] Error 2<br />
make[2]: *** [tier_toolkit] Error 2<br />
make[1]: *** [default] Error 2<br />
make: *** [build] Error 2<br />
</pre><br />
:* Our custom keychain class is now fully commented and available for online viewing. A test main is provided as well as the Xcode project for those who are interesting in compiling the code.<br />
:* The following chat was recorded, discussing a new MoCo involvement in the OS X Keychain integration project:<br />
<pre><br />
20:29 <dolske> ping?<br />
20:31 <dolske> I saw to mention you're working on adding a build flag, and adding the "os x security<br />
framework"?<br />
20:33 <philly> yeah<br />
20:34 <philly> whats up?<br />
20:36 <dolske> What exactly does the latter (OS X) part mean?<br />
20:37 <philly> im working on a project that will add os x keychain support to firefox<br />
20:37 <philly> were trying to get the security framework<br />
20:37 <dolske> ah, that's what I suspected. :-)<br />
20:37 <philly> into the build.<br />
20:38 <dolske> One of the new MoCo guys was startign to look at that too, and I'm starting to whack<br />
passwordmgr with a big stick.<br />
20:39 <philly> yeah.. thats basically what were doing<br />
20:39 <philly> we have working code that add's and retreives keychain items from the keychain manager<br />
20:41 <philly> we have had working code for a while now, but dont know the moz tree well enough to<br />
implement the code.<br />
20:41 <philly> so its a lot of trial and error<br />
20:41 <dolske> You may want to ping Collin Barrett (cbarrett) so you're not duplicating work.<br />
20:41 <philly> will do<br />
20:42 <dolske> Although I think he's not actually starting for a couple of weeks, so I don't know how<br />
much he's around.<br />
20:43 <philly> i'll give me a shout as soon as i see him.. thanks for the info<br />
20:43 <philly> s/me/him/<br />
20:43 <dolske> Looks like timber@lava.net is his current email.<br />
20:44 <dolske> Also... Did you get the build flag added? I'm about to do the same, and was wondering<br />
what was involved. :-)<br />
20:45 <philly> we located flag: -framework Security<br />
20:46 <philly> there could be more<br />
20:47 <dolske> Oh, I thought you were looking at a --enable-moz-foo type flag.<br />
20:47 <philly> yeah.. we dont know if we found the right one<br />
20:48 <philly> i was talking to some of the camino guys about flags<br />
20:48 <dolske> ah.<br />
20:49 <philly> im not sure if those flags are apart of the camino build though.. it appears they know<br />
nothing about the ff build process<br />
20:49 <philly> im a student at seneca college btw.. we have a project page for this<br />
20:49 <dolske> heh, that seems to be a common problem. :-)<br />
20:50 <philly> http://zenit.senecac.on.ca/wiki/index.php/OS_X_Keychain_integration<br />
20:50 <dolske> ah, cool.<br />
20:51 <dolske> oh, Camino already supports Keychain? Hmpf.<br />
20:51 <philly> yeah.. but its not using the latest security framework from apple<br />
20:51 <dolske> ...but they're dropping it? hmm.<br />
20:51 <philly> so they're gonna pull it out<br />
20:51 <philly> otherwise<br />
20:51 <philly> we would be copying some code.. :)<br />
20:51 <dolske> ah, "why" was my next question.<br />
20:52 <dolske> I wonder if they can't use a newer framework because they want to support older OS X<br />
versions?<br />
20:53 <philly> hmm.. i never thought of that<br />
20:53 <dolske> I think FF3 will currently require 10.2 (with 10.3 recommended)<br />
20:56 <philly> yeah.. i think 10.2 is the base for the latest framework<br />
20:56 <philly> there is also a patch that you have to apply<br />
20:57 <philly> bug 360583<br />
21:12 -!- dolske [dolske@moz-46636307.office.mozilla.org ] has quit [Quit: dolske]<br />
</pre><br />
<br />
==Project Download==<br />
<br />
Currently, our latest developments into the integration of Apple's Keychain manager into Firefox can be downloaded by a zipped file or through svn.<br />
<br />
===Archive===<br />
This file contains the: <br />
:*C++ code that was written to save and retrieve items from the Keychain Manager in OS X.<br />
:*Xcode project file ready to be compiled.<br />
:*A patch is also included depicting our latest efforts in integrating the code into the Mozilla Tree.<br />
<br />
::[http://mo3b.com/keychain.zip Download archive]<br />
::[http://mo3b.com/keychain/ View the source online]<br />
<br />
==== Code Pages ====<br />
<br />
[[OS_X_Keychain_integration_Keychain.h|keychain.h]]<br />
[[OS_X_Keychain_integration_Keychain.cpp|keychain.cpp]]<br />
[[OS_X_Keychain_integration_Keychain_main.cpp|main.cpp]]<br />
[[OS_X_Keychain_integration_osxkeychain.patch|osxkeychain.patch ]]<br />
<br />
===SVN===<br />
The repository contains a snapshot of the latest Mozilla tree (captured on Dec 5th, 2006). Use the following command to download our latest code efforts.<br />
<pre><br />
svn co svn://cdot.senecac.on.ca/osxkeychain/trunk/<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Project_List&diff=10137Project List2007-02-08T22:07:34Z<p>Pcvitori: /* Potential Projects -- You busy? */</p>
<hr />
<div>[[IMAGE: MozillaAtSeneca3.jpg]]<br />
<br />
You can get involved with any of the projects below. Please see [[Assignment 2]] for details. To join a project create a page for it, following the example of [[Sample Project]] below. <br />
<br />
== Active Projects ==<br />
<br />
===[[Generalization of Joga extension]] ===<br />
<br />
We worked with partners to create an [http://www.joga.com/jogacompanion.aspx extension] for delivering World Cup scoring updates as well as providing country-specific themes. We'd like someone to take it apart, remove or refactor the [http://www.joga.com/jogacompanion.aspx Joga]-specific pieces so that it can be used for other such data sources (hello, hockey?), and write some basic documentation for how to create your own notification-and-theme extension from the toolkit that results.<br />
<br />
Related tech and skills: XUL, JavaScript, documentation, web services<br />
<br />
=== [[XULRunner Guide]] ===<br />
<br />
The [http://en.wikipedia.org/wiki/XULRunner XULRunner project] provides an "application runner" for building apps -- like Firefox, Thunderbird, and Sunbird -- atop the [http://developer.mozilla.org/en/docs/Toolkit_API Mozilla toolkit] framework. It needs a guide outlined, high-priority parts written, and examples created to help people get started.<br />
<br />
Related tech and skills: XUL, documentation, cross-platform testing<br />
<br />
Reference: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunner<br />
<br />
=== [[Airbag development and server operation]] ===<br />
<br />
The [http://code.google.com/p/airbag/ Airbag project] is developing an open source crash reporting and analysis system, analogous to [http://en.wikipedia.org/wiki/Crash_reporter#Talkback Talkback]. There's lots of work to do on wiring it into the build system, operating servers for collecting and analyzing data, and extending Firefox's use of it to collect additional helpful information (like installed extensions, memory usage, etc.) <br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=216827 Bug 216827], [http://gemal.dk/blog/2006/09/13/talkback_to_be_replaced_by_airbag/?from=rss-category here], and [http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/ here]<br />
<br />
=== [[Calendar stuff]] ===<br />
<br />
The [http://www.mozilla.org/projects/calendar/ Calendar project] has lots of stuff for people to do, from [http://www.microsoft.com/exchange/default.mspx Exchange] connectors to off-line caching to bug fixes and minor features galore. A good place to start is the #calendar IRC channel on moznet.<br />
<br />
=== [[OS X Keychain integration]] ===<br />
<br />
It would be great to store Firefox's saved passwords in the [http://en.wikipedia.org/wiki/Apple_Keychain OS X keychain], for consistency and ease of use.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 Bug 106400]<br />
<br />
=== [[CSS guide]] ===<br />
<br />
The [http://developer.mozilla.org Mozilla Developer Center] would like to add a CSS guide to its set of major documents, covering at least the top 100 CSS properties in use on the web today. This data can be obtained through tools . It should include numerous examples, and a fair number of small tutorial/how-to sections for different common tasks or requests from web authors. <br />
<br />
Reference: [http://developer.mozilla.org/en/docs/CSS_Reference CSS Reference]<br />
<br />
=== [[Delta debugging framework]] ===<br />
<br />
[http://en.wikipedia.org/wiki/Delta_Debugging Delta debugging] is an automated approach to debugging that isolates failures systematically. Given a failing test that can be mechanically verified (including a browser crash), [http://en.wikipedia.org/wiki/Delta_Debugging delta debugging] is a way of automatically isolating the change that introduced the failure. Having a framework in place to pull builds from CVS, bisect by date and change set (using [http://en.wikipedia.org/wiki/Bonsai_CVS_code_management_system bonsai ] data -- remember, CVS doesn't have changesets!), and report results would let computers make developers more productive.<br />
<br />
=== [[D-Bus and other Linux desktop integration improvements]] ===<br />
<br />
Various Linux distributors have patches in their Firefox packages that add bits and pieces of Linux integration, and we'd like to see even more available. One particular area of interest is controlling the browser via [http://en.wikipedia.org/wiki/D-BUS d-bus], and exposing [http://en.wikipedia.org/wiki/D-BUS dbus] events to the application and extensions.<br />
<br />
=== [["Avoid loading the same page twice" Extension]] ===<br />
<br />
Create an extension to Firefox so that when a bookmark is clicked, and that site is already open in any tab in any window, that tab/window is brought to the front rather than loading the page again.<br />
<br />
Related tech and skills: XUL, JavaScript<br />
<br />
=== [[APNG]] ===<br />
<br />
[[APNG]] stands for Animated PNG, an extension to the PNG specification to allow for animated PNG images. Similar to how Animated GIF is an extension of GIF. Create such a thing.<br />
<br />
=== [[Mozilla@Seneca Wiki Administration]] ===<br />
This wonderful wiki needs attention too! Already there are configuration issues that need to get fixed, extensions we could be using, etc. As we push further with this, we'll come up with more things too. This work will require knowledge of PHP, server administration, knowledge of [http://www.mediawiki.org/wiki/MediaWiki MediaWiki].<br />
<br />
=== [[Bug Triage Extension|Buggy Bar - Bug Triage Extension]] ===<br />
<br />
Mike Beltzner suggested this one after his talk. The idea is to make it trivial for testers to follow-through a bug's Steps To Reproduce (STR) so as to confirm it. A tester should be able to use this Extension to ask for a bug (i.e., one would be picked for him/her--no querying) and then a sidebar or similar would appear showing the steps to follow. Under that would need to be a way (e.g., buttons) to say that the bug is confirmed or not. Ideally the QA team could prioritize bugs so they appear in this list automatically, making it easier for testers to get the "right" bugs quickly.<br />
<br />
Reference: talk to beltzner.<br />
<br />
=== [[Extending the Buildbot]] ===<br />
<br />
This project is a catch-all for Buildbot development done here. The Buildbot is an automated build system written in python. It is used on the Mozilla Seneca Cluster.<br />
<br />
Related skills: Python<br />
<br />
=== [[Distcc With MSVC]] ===<br />
<br />
Speed up Mozilla's builds by letting them use MSVC with distcc on Windows.<br />
<br />
=== [[Unit Testing]] ===<br />
<br />
Programmatic testing of software. The participant will take a section of code and write unit tests for it, fully testing all aspects of the code. This may require the creation of a unit testing framework and interfacing with other developers who know a particular module or service. The programmer will be adept at finding boundary cases and creating tests that deliberately break the software through code. These may lead to the creation of bugs in [http://bugzilla.mozilla.org bugzilla].<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[DDE Bug Within The Address Bar]] ===<br />
<br />
Currently there is a bug in Firefox such that when running 3 or more instances of the browser, the address bar loses focus when cutting and pasting a string. Regular typing works perfectly when the bug is present. The purpose of this project is to track down and attempt to fix this bug. <br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=220900 Bug 220900].<br />
<br />
=== [[MDC Infrastructure]] ===<br />
<br />
Integrate new features to MDC, work on existing bugs and fix compatibility issues for the upgrade of Mediawiki to 1.7. (Tentative description)<br />
<br />
=== [[Firefox Performance Testing : A Python framework for Windows]] ===<br />
<br />
Building new tests, improving on existing ones, strengthening the framework itself and porting it to other OS's<br />
<br />
Related to the '''Performance Testing Project'''<br />
<br />
Reference: alice<br />
<br />
'''Note: Not the typical mundane black box testing'''<br />
<br />
=== [[Vista Testing]] ===<br />
<br />
Testing Firefox on the new Microsoft Vista operating system.<br />
<br />
=== [[Mozilla@Seneca Cluster Administration]] ===<br />
<br />
Administration of the Mozilla cluster at Seneca.<br />
<br />
=== [[Source Code Indexing Service Analysis]] ===<br />
<br />
Mozilla is evaluating Subversion for revision control, and at the same time wants to look at other source indexing services. This project will setup, document, and test other potential services (e.g., fisheye, opengrok, mxr) on one of the Seneca-Mozilla servers. In each case this requires configuration changes and some scripting to get the services to properly integrate with Mozilla’s other on-line tools. When the test services are installed and synched with the live source tree, Mozilla will point its developers to them and get feedback—-the students will help collect and synthesize this feedback.<br />
<br />
=== [[mozilla_based_accessibility|Mozilla Based Accessibility]] ===<br />
<br />
To work with the accessibility team on screen reader compatibility issues outside of Firefox, fixing bugs using XUL in Songbird or Thunderbird or Sunbird calendar etc.<br />
<br />
=== [[Simple_Citation|Simple Citation]] === <br />
<br />
Create a Firefox extension that will allow citations to be easily generated.<br />
<br />
=== [[Functional Testing]] ===<br />
<br />
Testing performed from a user's perspective. Includes the running and writing of test cases in [http://litmus.mozilla.org Litmus], filing and tracking bugs through [bugzilla.mozilla.org bugzilla], stress-testing and exploratory debugging. This project requires a dedication to breaking software in an organized and repeatable fashion. There is no such thing as "the wrong way" to use software and the functional tester is adept at abusing a system in previously-unknown ways.<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[Firefox Performance Testing : A Python framework for Windows | Performance Testing]] ===<br />
<br />
Extending the performance toolkit and tinderbox reporting system. The project begins with a framework for testing page loads and startup times in Win32. The successful completion of this project will see this framework develop into a more robust system complete with processor-timing information and graphing. Memory analysis and samples during runs would also be beneficial. Further success or sub-projects could include porting the system Linux and OS X platforms.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=346785 Bug 346785]. Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[XML_3D_-_BTS530/630_Project|XML 3D Project]] ===<br />
<br />
This project is being built by Mark Paruzel and Yi (Eric) Shen for BTS530. It involves the incorporation of new HTML tags into a document that would correspond to a 3D interface. The successful completion of this project will yield an easy-to-use developer interface that takes advantage of cient size 3D hardware.<br />
<br />
=== [[Font Testing]] ===<br />
<br />
This project - recently started at the English Language Institute to find/report problems with font in Firefox 3.<br />
<br />
== Potential Projects -- You busy? ==<br />
<br />
=== [[Sample Project]] ===<br />
<br />
This is a sample project stub. You can use the template for [[Sample Project]] in order to create a project page for one of the stubs below. This is how you 'sign-up' for a project.<br />
<br />
NOTE: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the '''Project Leader(s)''' page. Otherwise, you can become a contributor later.<br />
<br />
=== Moving to a non-recursive build system ===<br />
<br />
The Mozilla build system currently recurses through thousands of invocations of "make" for a single build. New techniques allow many makefiles to be read by a single make process, which will speed up builds and allow for more correct dependency evaluation.<br />
<br />
Related tech and skills: makefiles<br />
<br />
=== Developing the Tamarin build system ===<br />
<br />
The new Tamarin project is developing a cross-platform build system based on a python replacement for GNU autoconf. Assistance is needed to develop, test, and document this new build system. Note: access to virtual machines of various operating systems such as Linux, Windows, FreeBSD, and<br />
OpenSolaris would be very useful for testing purposes.<br />
<br />
=== SVN access control via LDAP ===<br />
<br />
We have a tool called "[https://despot.mozilla.org/ Despot]" which gives us fine-grained control over access to the [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS Mozilla CVS repository]. As we start to have development hosted in [http://weblogs.mozillazine.org/preed/2006/08/subversive_subversion_conversi.html Subversion] (SVN), with account information maintained in [http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol LDAP], we'd like to have a tool to enforce and manage such controls there as well.<br />
<br />
Related tech and skills: server config, LDAP, scripting, web interface/app development<br />
<br />
Reference: See https://despot.mozilla.org/help.html and http://lxr.mozilla.org/mozilla/source/webtools/despot/README. Also, please speak with [[User:Reed|Reed Loden]] (reed) about this project.<br />
<br />
=== [[Updating JS guide and JS reference]] ===<br />
<br />
The current [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide JavaScript guide] and [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference reference ] are valuable, but in serious need of updating in both structure and content (new language features, more relevant compatibility information, improved examples).<br />
<br />
Related tech and skills: documentation, JavaScript<br />
<br />
=== [[Bugzilla component-watching]] ===<br />
<br />
It's common for a developer to want to "watch" all the bugs that are filed in a certain [https://bugzilla.mozilla.org Bugzilla] component. Mozilla uses a convoluted and painful system of synthetic accounts to simulate this capability, and we'd all really prefer to be able to do it more directly and with less opportunity for error.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=76794 Bug 76794]<br />
<br />
=== Updating and migrating of MDC content ===<br />
<br />
The [http://developer.mozilla.org Mozilla Developer Center] has rights to a bunch of content that's still hosted on various strange corners of http://www.mozilla.org and the old [http://developer.mozilla.org/en/docs/DevEdge DevEdge] archives. There are some gems in there that need dusting off and updating to reflect the realities of the modern web.<br />
<br />
Related tech and skills: web authoring, documentation, scripting, technology domains of chosen articles.<br />
<br />
=== Test framework development ===<br />
<br />
We have a number of promising prototype or proof-of-concept test frameworks for exercising Mozilla code from different directions. They need varying amounts of work to make them more robust and general, document them, and integrate them into different kinds of automation.<br />
<br />
Related tech and skills: Python, Perl, Makefiles, shell scripting, JavaScript<br />
<br />
=== OpenDarwin tinderbox image ===<br />
<br />
We would love to have a [http://en.wikipedia.org/wiki/Tinderbox_%28software%29 Tinderbox] image (e.g., VM) for testing and building on the Mac, based on the [http://www.opensource.apple.com/darwinsource/ freely-available OS X source]. Also, we'd like to get it wired into [[User:Bhearsum|Ben Hearsum's]] (bhearsum) [http://en.wikipedia.org/wiki/Buildbot buildbot] system.<br />
<br />
Related tech and skills: system configuration, scripting, light C/C++, Makefile<br />
<br />
=== FAQ mining for extension developers ===<br />
<br />
Literally every day, there are informal exchanges on IRC (e.g., #extdev, #developers, #firefox, #seneca, etc.) and newsgroups that are fantastic fodder for small, focused documents. Collect these exchanges and fleshing them out as recipes for extension authors that include sample code.<br />
<br />
=== Automated Testing ===<br />
<br />
Pro grammatically driving the browser to perform human-like tasks repeatedly. The programmer will have to create a framework for driving browser components in JavaScript or other scripting language to repeatedly test various pieces of the application. Ideally, the successful completion of this task will see a test or suite of tests that can be invoked by command line to start the browser, run the test suites and then exit and record the results for display or analysis.<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[OpenGL Backend in Firefox 3]] ===<br />
<br />
Creating a Wrapper around OpenGL inside the core of Firefox for future developement of Canvas. The programmer of this project will have to work with the existing rendering code and create bindings to OpenGL calls that will be eventually used through Canvas and JavaScript. The completion of this code will eventually make its way into the firefox v3 trunk. (Subject to revision by Dave/Vlad)<br />
<br />
Reference: Vlad.<br />
<br />
=== [http://cs1.senecac.on.ca/wiki/index.php/Applescript_support_for_Firefox AppleScript support for Firefox] ===<br />
<br />
Lots of people would like to script Firefox from [http://en.wikipedia.org/wiki/AppleScript AppleScript] (or, more generally, from the [http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA]), and extension authors would like to be able to call out to [http://en.wikipedia.org/wiki/AppleScript AppleScript]/[http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA] from their code as well.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=125419 Bug 125419]<br />
<br />
=== Data Mining of Hendrix Data===<br />
<br />
This project involves the creation of reports using Hendrix data of user feedback, to better understand major issues being reported and converting them into new bugs or finding and updating existing ones.<br />
<br />
=== Talkback Report Challenge 1 ===<br />
<br />
Reference: http://wiki.mozilla.org/Mozilla_QA_Community:Talkback_Report_Challenge_1 <br />
<br />
=== Litmus Extension ===<br />
<br />
We wanted to have an extension that would be able to serve users testcases to try and allow them to submit results to [http://litmus.mozilla.org http://litmus.mozilla.org]. We could expand the feature set of the extension to do a lot of other cool things with Bugzilla and Website Reporter integration. So we need some ideas there. If you're interested, you could collaborate with [[User:djhamp-g|David Hamp-Gonsalves]] to work on this together. <br />
<br />
=== QMO Help ===<br />
<br />
Help is needed in getting QMO together. If anyone is interested in website design, php hacking, or general graphics work, we can use some help getting QMO into better shape. <br />
<br />
Reference: [http://quality.mozilla.org/?p=5 http://quality.mozilla.org/?p=5]<br />
<br />
=== Help Ship Firefox 2.0.0.2 and 1.5.0.10 ===<br />
<br />
If you're interested in testing, you can run test cases through [http://litmus.mozilla.org http://litmus.mozilla.org].</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Club_Moz&diff=10082Club Moz2007-02-07T20:35:50Z<p>Pcvitori: /* Events */</p>
<hr />
<div>=Purpose=<br />
<b>To help students get involved in the Mozilla community through its future endeavors in development, testing, support and hacking</b><br />
<br />
This club is open to technical and also non-technical people. If you don't know anything about open source or Mozilla, don't worry, we're here to help you get involved and we promise a good time :)<br />
<br />
<br />
=Committee=<br />
'''President:''' [[User:Themystic|Tom Aratyn]] (mystic)<br />
<br />
'''Vice President:''' Tiago Moreira (Tiago)<br />
<br />
'''Financial Officer:''' [[User:Elichak|Liz Chak]] (elichak)<br />
<br />
'''Events Coordinator:''' [[User:Pcvitori|Philip Vitorino]] (philly)<br />
<br />
'''Promotions Coordinator:''' [[User:Vpmirand|Vanessa Miranda]] (vanessa)<br />
<br />
'''Faculty Advisor:''' [[User:David.humphrey|Dave Humphrey]] (dave or humph)<br />
<br />
<br />
'''Email:''' clubmoz@gmail.com<br />
<br />
=Announcements=<br />
*<big><b>Test Days</b></big><br />
** For Calendar, 13:00 UTC on February 9th 2007 to 01:00 UTC on February 10th 2007. http://wiki.mozilla.org/Calendar:Current_QA_TestDay<br />
**For Firefox 1.510 & 2.002 RC1 builds,Friday, February 9, 2007, from 7am - 5pm PST. http://wiki.mozilla.org/Mozilla_QA_Community:Firefox_1510_2002_Community_Test_Day<br />
<br />
<br />
*Super Fun Hack Days are moved to T3073<br />
<br />
<br />
*<big><b>Firefox 2 is offically released!!</b></big><br />
- Oct 24 2006<br />
<br />
=Events=<br />
One of the most fun aspects of Club Moz is the fact that we run events (like Super Fun Hack Day)! Come by and get involved!<br />
<br />
Due to some unfortunate events we have had to develop a policy regarding our [[Club Moz:Events:Policy| event policy]]. By attending you accept the policy.<br />
<br />
For a complete list of upcoming Club Moz events, check out our [http://www.google.com/calendar/embed?src=clubmoz%40gmail.com calendar]!<br />
<br />
<br />
==Super Fun Hack Day==<br />
<br />
===Event Agenda===<br />
<br />
'''February 1''' - Calendar Test Day. Details [http://wiki.mozilla.org/Calendar:Current_QA_TestDay Here]<br />
<br />
<br />
===Event Details===<br />
'''Super Fun Hack Day every Thursday'''<br />
*Open to all students no matter your technical background or level. <br />
*Bring your energy and interest and we will help turn that into new abilities and new friends.<br />
*Come by T3073 on the third floor of the TEL building. <br />
*Food and Drinks will be provided after the event. We expect to be starting at around 3:20 pm going until... :)<br />
<br />
<br />
===Super Fun Hack Day Stuff===<br />
* Proposed Flyer ([[User:elichak | Liz Chak]] (elichak) and [[User:moe|Mohammad Tirtashi]] (moe))<br />
<gallery><br />
Image:Flyer.jpg|Hack Day Flyer<br />
</gallery><br />
*[[Hack day Issues|Notes on Hack Day Issues]]<br />
*[http://elichak.wordpress.com/ elichak's log about Super Fun Hack Day]<br />
<br />
<br />
===Issues With Hack day===<br />
<br />
* [[ Hack_day_Issues]]<br />
<br />
==Club Moz planning meetings==<br />
*Open to members of the club - everyone's voice matters<br />
*Date/Time: TBA<br />
*Location: T2091 - Linux Club<br />
<br />
<br />
===Meeting Minutes===<br />
<br />
* [[Club Moz:Meetings/November 9, 2006|November 9, 2006]]<br />
* [[Club Moz:Meetings/November 15, 2006|November 15, 2006]]<br />
* [[Club Moz:Meetings/November 22, 2006|November 22, 2006]]<br />
* [[Club Moz:Meetings/November 29, 2006|November 29, 2006]]<br />
* [[Club Moz:Meetings/January 9, 2006|January 9, 2006]]<br />
<br />
=News=<br />
*The Firefox2 party was a success. <br />
**Here are some [http://www.flickr.com/photos/moebt/sets/72157594346279843/ pictures].<br />
**More [http://www.flickr.com/photos/14311671@N00/ pictures]!<br />
<br />
*Club hangout on irc: irc://irc.mozilla.org/#clubmoz<br />
<br />
<br />
=Members=<br />
List of members still in progress<br />
<br />
Add your name here if you would like to be a member of Club Moz :)<br />
<br />
* [[User:dtolj|Dejan Tolj]] (dtolj)<br />
* [[User:Eldavey|Erin Davey]] (davey_girl)<br />
* [[User:Eor|Eva Or]] (eor)<br />
* [[User:jbmossop|Jeff Mossop]] (JBmossop)<br />
* [[User:Mdsouza|Mark D'Souza]] (mdsouza)<br />
* [[User:melz|Melissa Peh]] (melz)<br />
* [[User:mylau|Michael Lau]] (mylau)<br />
* [[User:moe|Mohammad Tirtashi]] (moe)<br />
* [[User:Paul|Paul Yanchun Gu]] (gpaul)<br />
* [[User:PStD|Paul St-Denis]] (pstdenis)<br />
* [[User:John64|John Ford]] (john64)<br />
* Tiago Moreira (Tiago)<br />
* Sid Kalra (crulshorukh)<br />
* [[User:djhamp-g| david hamp]] (inveigle)<br />
* [[User:jp| justin pacheco]] (jp)<br />
* [[User:robcee|Rob Campbell]], aka robcee, QA Engineer, Mozilla Corp.<br />
* [[User:Gavin|Gavin Sharp]]<br />
* [[User:Shaver|shaver]]<br />
* [[User:backinblakk|Lukas Blakk]] (lsblakk)<br />
* [[User:Saba Naqvi|Saba]] (snaqvi3)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Simple_Citation_Version_History&diff=9383Simple Citation Version History2007-01-15T20:28:31Z<p>Pcvitori: </p>
<hr />
<div>This page lists all information related to each released version of Simple Citation.<br />
<br />
===Version 1.0 TODO List===<br />
<br />
'''Status:''' <font color="green">RELEASED</font> <br />
<br />
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=2 cellspacing=0><br />
<th style="width: 65%">Task</th><br />
<th style="width: 10%">Assigned To</th><br />
<th style="width: 5%">Priority</th><br />
<th style="width: 20%">Status</th><br />
<tr><br />
<td><br />
Add generation options to the right-click context menu and the Tools menu.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add a dialog box which displays the generated results, a copy to clipboard button, and a re-generate button.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add the ability to save the generated results to the clipboard. <br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add citation generation support for the APA format for stand-alone websites.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
</table><br />
<br />
===Version 1.0.1 TODO List===<br />
<br />
'''Status:''' <font color="green">RELEASED</font> <br />
<br />
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=2 cellspacing=0><br />
<th style="width: 65%">Task</th><br />
<th style="width: 10%">Assigned To</th><br />
<th style="width: 5%">Priority</th><br />
<th style="width: 20%">Status</th><br />
<tr><br />
<td><br />
Lower the menu item in the content area of the right-click context menu.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: orange; text-align: center; font-weight: bold; font-size: bigger">Medium</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Create a log file to record version accomplishments.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: orange; text-align: center; font-weight: bold; font-size: bigger">Medium</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Move text "The following text was generated:" to a new label.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: yellow; text-align: center; font-weight: bold; font-size: bigger">Low</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
</table><br />
<br />
===Version 1.1 TODO List===<br />
<br />
'''Status:''' <font color="green">RELEASED</font> <br />
<br />
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=2 cellspacing=0><br />
<th style="width: 65%">Task</th><br />
<th style="width: 10%">Assigned To</th><br />
<th style="width: 5%">Priority</th><br />
<th style="width: 20%">Status</th><br />
<tr><br />
<td><br />
Allow the ability to generate citations from a list of formats (APA, MLA, etc). Add an "Options" button beside the "Ok" button, with the following popup menu hierarchy:<br />
<pre><br />
Format<br />
- MLA<br />
- Website<br />
- APA<br />
- Stand-Alone Document<br />
- Chicago<br />
- Website<br />
- CBE<br />
- Personal Website<br />
</pre><br />
<br />
Since citation information isn't located through specific tags within an HTML page, locating it can become trivial. As a result, the following tags will be placed in the location of specific citation information until a proper search is made available (See the algorithm task):<br />
:* Author(s) = <authorName(s)><br />
:* Article title = <articleTitle><br />
:* Book title = <bookTitle><br />
:* Publication date = <publicationDate><br />
:* Publisher name = <publisherName><br />
:* Publisher date = <publisherDate><br />
<br />
Once the citation is generated, the user will be able to scroll through the website and add information that was not found.<br />
<br />
Sources: <br />
*[http://www.bedfordstmartins.com/online/citex.html http://www.bedfordstmartins.com/online/citex.html]<br />
*[http://www.liu.edu/cwis/CWP/library/workshop/citation.htm http://www.liu.edu/cwis/CWP/library/workshop/citation.htm]<br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add language support for French.<br />
</td><br />
<td>Paul</td><br />
<td style="background-color: yellow; text-align: center; font-weight: bold; font-size: bigger">Low</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add language support for Spanish.<br />
</td><br />
<td>Mike Lau</td><br />
<td style="background-color: yellow; text-align: center; font-weight: bold; font-size: bigger">Low</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add language support for Chinese (Traditional and Simple).<br />
</td><br />
<td>Eva</td><br />
<td style="background-color: yellow; text-align: center; font-weight: bold; font-size: bigger">Low</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add language support for Malay (Bahasa Melayu).<br />
</td><br />
<td>Liz</td><br />
<td style="background-color: yellow; text-align: center; font-weight: bold; font-size: bigger">Low</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Fix a bug with the XUL window that prevents it from resizing properly. <br />
</td><br />
<td>Paul</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Create a preferences file that will hold the default format with generating citations.<br />
</td><br />
<td>philly, Paul</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Create an icon so it can be placed on the Firefox task bar.<br />
</td><br />
<td>Jeff</td><br />
<td style="background-color: orange; text-align: center; font-weight: bold; font-size: bigger">Medium</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add a history feature so that all previous citations can be retrieved. This feature will be located within the "Options" menu hierarchy. <br />
</td><br />
<td>Moe, philly</td><br />
<td style="background-color: orange; text-align: center; font-weight: bold; font-size: bigger">Medium</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add update RDF support to the extension.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add an open source license to all project files.<br />
</td><br />
<td>Tom, philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
</table><br />
<br />
===Version 1.1.1 TODO List===<br />
<br />
'''Status:''' <font color="green">RELEASED</font> <br />
<br />
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=2 cellspacing=0><br />
<th style="width: 65%">Task</th><br />
<th style="width: 10%">Assigned To</th><br />
<th style="width: 5%">Priority</th><br />
<th style="width: 20%">Status</th><br />
<tr><br />
<td><br />
Fix a bug that prevents the toolbar icon to display within Firefox. <br />
</td><br />
<td>philly</td><br />
<td style="background-color: red; text-align: center; font-weight: bold; font-size: bigger">High</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add the GPL license to missed files in the previous release.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: orange; text-align: center; font-weight: bold; font-size: bigger">Medium</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
<tr><br />
<td><br />
Add the versionlog.txt file to the release package.<br />
</td><br />
<td>philly</td><br />
<td style="background-color: yellow; text-align: center; font-weight: bold; font-size: bigger">Low</td><br />
<td style="background-color: green; text-align: center; font-weight: bold; font-size: bigger">Complete.</td><br />
</tr><br />
</table></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=7802OS X Keychain integration2006-12-09T21:32:59Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.<br />
<br />
* '''December 3rd, 2006''' - Phil decided to implement our working code on friday into the current Firefox build. Thanks to MAC1 crashing, a network cable missing from MAC2, and the orange Firefox build for Mac OS X, I didnt accomplish anything.<br />
<br />
* '''December 8th, 2006''' - Both MAC1 and MAC2 have been fixed. Myself and Moe began hacking our Keychain code into the Mozilla tree, through the nsPasswordManager.cpp file. This file is primarily used by Firefox to record and retrieve passwords from a flat file system. As we were implementing the code, we realized that FF wont build unless the security framework was included into the build process. Venturing into IRC produced the following results:<br />
:* We have to include the '''-framework Security''' into the build process where ever we are linking in the tree.<br />
:* The following chat was recorded, discussing a new MoCo involvement in the OS X Keychain integration project:<br />
<pre><br />
20:29 <dolske> ping?<br />
20:31 <dolske> I saw to mention you're working on adding a build flag, and adding the "os x security<br />
framework"?<br />
20:33 <philly> yeah<br />
20:34 <philly> whats up?<br />
20:36 <dolske> What exactly does the latter (OS X) part mean?<br />
20:37 <philly> im working on a project that will add os x keychain support to firefox<br />
20:37 <philly> were trying to get the security framework<br />
20:37 <dolske> ah, that's what I suspected. :-)<br />
20:37 <philly> into the build.<br />
20:38 <dolske> One of the new MoCo guys was startign to look at that too, and I'm starting to whack<br />
passwordmgr with a big stick.<br />
20:39 <philly> yeah.. thats basically what were doing<br />
20:39 <philly> we have working code that add's and retreives keychain items from the keychain manager<br />
20:41 <philly> we have had working code for a while now, but dont know the moz tree well enough to<br />
implement the code.<br />
20:41 <philly> so its a lot of trial and error<br />
20:41 <dolske> You may want to ping Collin Barrett (cbarrett) so you're not duplicating work.<br />
20:41 <philly> will do<br />
20:42 <dolske> Although I think he's not actually starting for a couple of weeks, so I don't know how<br />
much he's around.<br />
20:43 <philly> i'll give me a shout as soon as i see him.. thanks for the info<br />
20:43 <philly> s/me/him/<br />
20:43 <dolske> Looks like timber@lava.net is his current email.<br />
20:44 <dolske> Also... Did you get the build flag added? I'm about to do the same, and was wondering<br />
what was involved. :-)<br />
20:45 <philly> we located flag: -framework Security<br />
20:46 <philly> there could be more<br />
20:47 <dolske> Oh, I thought you were looking at a --enable-moz-foo type flag.<br />
20:47 <philly> yeah.. we dont know if we found the right one<br />
20:48 <philly> i was talking to some of the camino guys about flags<br />
20:48 <dolske> ah.<br />
20:49 <philly> im not sure if those flags are apart of the camino build though.. it appears they know<br />
nothing about the ff build process<br />
20:49 <philly> im a student at seneca college btw.. we have a project page for this<br />
20:49 <dolske> heh, that seems to be a common problem. :-)<br />
20:50 <philly> http://zenit.senecac.on.ca/wiki/index.php/OS_X_Keychain_integration<br />
20:50 <dolske> ah, cool.<br />
20:51 <dolske> oh, Camino already supports Keychain? Hmpf.<br />
20:51 <philly> yeah.. but its not using the latest security framework from apple<br />
20:51 <dolske> ...but they're dropping it? hmm.<br />
20:51 <philly> so they're gonna pull it out<br />
20:51 <philly> otherwise<br />
20:51 <philly> we would be copying some code.. :)<br />
20:51 <dolske> ah, "why" was my next question.<br />
20:52 <dolske> I wonder if they can't use a newer framework because they want to support older OS X<br />
versions?<br />
20:53 <philly> hmm.. i never thought of that<br />
20:53 <dolske> I think FF3 will currently require 10.2 (with 10.3 recommended)<br />
20:56 <philly> yeah.. i think 10.2 is the base for the latest framework<br />
20:56 <philly> there is also a patch that you have to apply<br />
20:57 <philly> bug 360583<br />
21:12 -!- dolske [dolske@moz-46636307.office.mozilla.org ] has quit [Quit: dolske]<br />
</pre><br />
<br />
==Project Download==<br />
<br />
Currently, our latest developments into the integration of Apple's Keychain manager into Firefox can be downloaded by a zipped file or through svn.<br />
<br />
===ZIP===<br />
This file contains the C++ code that was written to save and retrieve items from the Keychain Manager in OS X. A patch is also included depicting our latest efforts in integrating the code into the Mozilla Tree.<br />
<br />
Download Coming Soon!<br />
<br />
===SVN===<br />
The repository contains a snapshot of the latest Mozilla tree (captured on Dec 5th, 2006). Use the following command to download our latest code efforts.<br />
<pre><br />
svn co svn://cdot.senecac.on.ca/osxkeychain/trunk/<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=7800OS X Keychain integration2006-12-09T21:18:09Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.<br />
<br />
* '''December 3rd, 2006''' - Phil decided to implement our working code on friday into the current Firefox build. Thanks to MAC1 crashing, a network cable missing from MAC2, and the orange Firefox build for Mac OS X, I didnt accomplish anything.<br />
<br />
* '''December 8th, 2006''' - Both MAC1 and MAC2 have been fixed. Myself and Moe began hacking our Keychain code into the Mozilla tree, through the nsPasswordManager.cpp file. This file is primarily used by Firefox to record and retrieve passwords from a flat file system. As we were implementing the code, we realized that FF wont build unless the security framework was included into the build process. Venturing into IRC produced the following results:<br />
:* We have to include the '''-framework Security''' into the build process where ever we are linking in the tree.<br />
:* The following chat was recorded, discussing a new MoCo involvement in the OS X Keychain integration project:<br />
<pre><br />
20:29 <dolske> ping?<br />
20:31 <dolske> I saw to mention you're working on adding a build flag, and adding the "os x security<br />
framework"?<br />
20:33 <philly> yeah<br />
20:34 <philly> whats up?<br />
20:36 <dolske> What exactly does the latter (OS X) part mean?<br />
20:37 <philly> im working on a project that will add os x keychain support to firefox<br />
20:37 <philly> were trying to get the security framework<br />
20:37 <dolske> ah, that's what I suspected. :-)<br />
20:37 <philly> into the build.<br />
20:38 <dolske> One of the new MoCo guys was startign to look at that too, and I'm starting to whack<br />
passwordmgr with a big stick.<br />
20:39 <philly> yeah.. thats basically what were doing<br />
20:39 <philly> we have working code that add's and retreives keychain items from the keychain manager<br />
20:41 <philly> we have had working code for a while now, but dont know the moz tree well enough to<br />
implement the code.<br />
20:41 <philly> so its a lot of trial and error<br />
20:41 <dolske> You may want to ping Collin Barrett (cbarrett) so you're not duplicating work.<br />
20:41 <philly> will do<br />
20:42 <dolske> Although I think he's not actually starting for a couple of weeks, so I don't know how<br />
much he's around.<br />
20:43 <philly> i'll give me a shout as soon as i see him.. thanks for the info<br />
20:43 <philly> s/me/him/<br />
20:43 <dolske> Looks like timber@lava.net is his current email.<br />
20:44 <dolske> Also... Did you get the build flag added? I'm about to do the same, and was wondering<br />
what was involved. :-)<br />
20:45 <philly> we located flag: -framework Security<br />
20:46 <philly> there could be more<br />
20:47 <dolske> Oh, I thought you were looking at a --enable-moz-foo type flag.<br />
20:47 <philly> yeah.. we dont know if we found the right one<br />
20:48 <philly> i was talking to some of the camino guys about flags<br />
20:48 <dolske> ah.<br />
20:49 <philly> im not sure if those flags are apart of the camino build though.. it appears they know<br />
nothing about the ff build process<br />
20:49 <philly> im a student at seneca college btw.. we have a project page for this<br />
20:49 <dolske> heh, that seems to be a common problem. :-)<br />
20:50 <philly> http://zenit.senecac.on.ca/wiki/index.php/OS_X_Keychain_integration<br />
20:50 <dolske> ah, cool.<br />
20:51 <dolske> oh, Camino already supports Keychain? Hmpf.<br />
20:51 <philly> yeah.. but its not using the latest security framework from apple<br />
20:51 <dolske> ...but they're dropping it? hmm.<br />
20:51 <philly> so they're gonna pull it out<br />
20:51 <philly> otherwise<br />
20:51 <philly> we would be copying some code.. :)<br />
20:51 <dolske> ah, "why" was my next question.<br />
20:52 <dolske> I wonder if they can't use a newer framework because they want to support older OS X<br />
versions?<br />
20:53 <philly> hmm.. i never thought of that<br />
20:53 <dolske> I think FF3 will currently require 10.2 (with 10.3 recommended)<br />
20:56 <philly> yeah.. i think 10.2 is the base for the latest framework<br />
20:56 <philly> there is also a patch that you have to apply<br />
20:57 <philly> bug 360583<br />
21:12 -!- dolske [dolske@moz-46636307.office.mozilla.org ] has quit [Quit: dolske]<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7782User:Pcvitori2006-12-09T18:39:49Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[[Help:Contents]]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
:[[Wiki_Template]] - Began creating a new template for the wiki. That didnt work out too well. The wiki was then reset.<br />
:[[Club Moz]]<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=File:Simplecitationhistory.png&diff=7735File:Simplecitationhistory.png2006-12-09T16:24:44Z<p>Pcvitori: Simple Citation History screenshot</p>
<hr />
<div>Simple Citation History screenshot</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=File:Simplecitation.png&diff=7732File:Simplecitation.png2006-12-09T16:16:45Z<p>Pcvitori: Simple Citation Screenshot</p>
<hr />
<div>Simple Citation Screenshot</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7707User:Pcvitori2006-12-09T15:22:42Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[[Help:Contents]]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
:[[Wiki_Template]] - Began creating a new template for the wiki. That didnt work out too well. The wiki was then reset.<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7706User:Pcvitori2006-12-09T15:22:12Z<p>Pcvitori: /* Projects */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[[Help:Contents]]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
:[[Wiki_Template]] - Began creating a new template for the wiki. That didnt work out too well. Thus, the wiki was reset.<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7394User:Pcvitori2006-12-06T17:17:54Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[[Help:Contents]]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
:[[Wiki_Template]] - Began creating a new template for the wiki. That didnt work out too well. Thus, the wiki was reset.<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7393User:Pcvitori2006-12-06T17:17:25Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[http://zenit.senecac.on.ca/wiki/index.php/Help:Contents FAQ]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
:[Wiki_Template] - Began creating a new template for the wiki. That didnt work out too well. Thus, the wiki was reset.<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7387User:Pcvitori2006-12-06T17:14:47Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[http://zenit.senecac.on.ca/wiki/index.php/Help:Contents FAQ]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7385User:Pcvitori2006-12-06T17:14:36Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[http://zenit.senecac.on.ca/wiki/index.php/Help:Contents|FAQ]<br />
:*Created the basic SVN tutorial<br />
:*Created the IRSSI Tutorial with Moe<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7382User:Pcvitori2006-12-06T17:13:41Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[http://zenit.senecac.on.ca/wiki/index.php/Help:Contents] <br />
*Created the basic SVN tutorial<br />
*Created the IRSSI Tutorial with Moe<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7380User:Pcvitori2006-12-06T17:13:08Z<p>Pcvitori: /* Contributions */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
:[Help:Contents] - Created the basic SVN tutorial<br />
- Created the IRSSI Tutorial with Moe<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7244User:Pcvitori2006-12-03T19:55:10Z<p>Pcvitori: /* Assignments */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
<br />
=Assignments=<br />
<br />
:[[Assignment_1_%28Pcvitori%29|Assignment 1]]<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
:[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7243User:Pcvitori2006-12-03T19:54:19Z<p>Pcvitori: /* Assignments */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
<br />
=Assignments=<br />
<br />
*[http://cs1.senecac.on.ca/wiki/index.php/Assignment_1_%28Pcvitori%29 Assignment 1]<br />
*[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
*[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
*[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
*[[Philip_Vitorino_perf_comments|Philip Vitorino perf comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7242User:Pcvitori2006-12-03T19:53:41Z<p>Pcvitori: /* Assignments */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
<br />
=Assignments=<br />
<br />
:[http://cs1.senecac.on.ca/wiki/index.php/Assignment_1_%28Pcvitori%29 Assignment 1]<br />
<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
<br />
:[[Philip_Vitorino_perf_comments]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=7241OS X Keychain integration2006-12-03T19:43:11Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.<br />
<br />
* '''December 3rd, 2006''' - Phil decided to implement our working code on friday into the current Firefox build. Thanks to MAC1 crashing, a network cable missing from MAC2, and the orange Firefox build for Mac OS X, I didnt accomplish anything.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=7240OS X Keychain integration2006-12-03T19:42:41Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.<br />
<br />
* '''December 3rd, 2006''' - Decided to implement our working code on friday into the current Firefox build. Thanks to MAC1 crashing, a network cable missing from MAC2, and the orange Firefox build for Mac OS X, I didnt accomplish anything.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=7209User:Pcvitori2006-12-02T18:30:31Z<p>Pcvitori: /* Projects */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributor)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributor)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributor)<br />
:[[Generalization_of_Joga_extension]] (Project Contributor)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
<br />
=Assignments=<br />
<br />
:[http://cs1.senecac.on.ca/wiki/index.php/Assignment_1_%28Pcvitori%29 Assignment 1]<br />
<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Talk:Generalization_of_Joga_extension&diff=7208Talk:Generalization of Joga extension2006-12-02T15:08:24Z<p>Pcvitori: </p>
<hr />
<div>You should consider adding a screenshot of your extension so people can see it without having to install it first. ([[User:David.humphrey|David.humphrey]] 16:03, 21 November 2006 (EST))<br />
<br />
Hey paul, this is how you create a new tab into Firefox:<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
<br />
Let me know if this works. --[[User:Pcvitori|Pcvitori]] 11:52, 29 November 2006 (EST)<br />
<br />
Sorry i forgot to show you how to get the gBrowser variable. The following is the modified code.<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var gBrowser = window.opener.getBrowser();<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
--[[User:Pcvitori|Pcvitori]] 11:53, 1 December 2006 (EST)<br />
<br />
<pre><br />
var gBrowser = window.parent.gBrowser; <br />
</pre><br />
<br />
Try that.. :)<br />
<br />
--[[User:Pcvitori|Pcvitori]] 10:08, 2 December 2006 (EST)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Talk:Generalization_of_Joga_extension&diff=7181Talk:Generalization of Joga extension2006-12-01T16:53:19Z<p>Pcvitori: </p>
<hr />
<div>You should consider adding a screenshot of your extension so people can see it without having to install it first. ([[User:David.humphrey|David.humphrey]] 16:03, 21 November 2006 (EST))<br />
<br />
Hey paul, this is how you create a new tab into Firefox:<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
<br />
Let me know if this works. --[[User:Pcvitori|Pcvitori]] 11:52, 29 November 2006 (EST)<br />
<br />
Sorry i forgot to show you how to get the gBrowser variable. The following is the modified code.<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var gBrowser = window.opener.getBrowser();<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
--[[User:Pcvitori|Pcvitori]] 11:53, 1 December 2006 (EST)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Talk:Generalization_of_Joga_extension&diff=7180Talk:Generalization of Joga extension2006-12-01T16:53:03Z<p>Pcvitori: </p>
<hr />
<div>You should consider adding a screenshot of your extension so people can see it without having to install it first. ([[User:David.humphrey|David.humphrey]] 16:03, 21 November 2006 (EST))<br />
<br />
Hey paul, this is how you create a new tab into Firefox:<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
<br />
Let me know if this works. --[[User:Pcvitori|Pcvitori]] 11:52, 29 November 2006 (EST)<br />
<br />
Sorry i forgot to show you have to get the gBrowser variable. The following is the modified code.<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var gBrowser = window.opener.getBrowser();<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
--[[User:Pcvitori|Pcvitori]] 11:53, 1 December 2006 (EST)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Philip_Vitorino_perf_comments&diff=7071Philip Vitorino perf comments2006-11-29T18:21:13Z<p>Pcvitori: </p>
<hr />
<div>I was unable to get the performance testing framework to work due to the following:<br />
<br />
1. I missed the instructions to create the extension_perf_reports folder. This should be highlighted within the doucment. Also, it would be nice if the framework could dynamically create this folder for us.<br />
<br />
2. The following error appeared and prevented me from continuing:<br />
<br />
<pre><br />
WindowsError : [Errno 3] The system cannot find the path specified: 'c:\\docume~1\\domain~1\\locals~profile/*.*'<br />
</pre></div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Firefox_Performance_Testing_:_A_Python_framework_for_Windows&diff=7066Firefox Performance Testing : A Python framework for Windows2006-11-29T18:17:44Z<p>Pcvitori: /* Comments on the Firefox Performance Testing Framework */</p>
<hr />
<div>= Project Name =<br />
<br />
'''<big>Firefox Performance Testing : A Python framework for Windows</big>'''<br />
<br />
<br />
= Project Description =<br />
<br />
The goal of this project is to:<br />
<br />
*get the current framework up and running to help work with others <br />
*get the framework running in an automated fashion<br />
*help with the creation and execution of new tests<br />
*work to upgrade the framework to work with a mozilla graph server<br />
*work with the mozilla community and contribute to an open source project<br />
<br />
<br />
From this project, you will:<br />
<br />
*learn python<br />
*learn about white box testing methodologies<br />
*work with an open source community<br />
*more generally learn about the functioning of QA in an open source community<br />
<br />
<br />
This will benefit you in the future when presented with a new program, you'll be able to give an idea of how to approach testing - to give adequate coverage and be able to provide some metric of program stability and functionality<br />
<br />
<br />
<b>Note: This is NOT the typical mundane black box testing</b><br />
<br />
<br />
= Project Leader(s) =<br />
<br />
* [[User:Elichak| Liz Chak (elichak)]]<br />
<br />
<br />
= Project Contributor(s) =<br />
<br />
[[User:Bhearsum | Ben Hearsum]] (bhearsum)<br />
*Set up the VM for performance testing<br />
*Helped with the debugging process for report.py, run_tests.py and ts.py<br />
<br />
[[User:Themystic | Tom Aratyn]] (mystic)<br />
*Introduced Closures in Python<br />
<br />
Alice Nodelman<br />
*Discussed on the things that need to be fixed to improve and strengthen the framework<br />
*Gave suggestions on the new Performance Testing framework<br />
<br />
[[User:Mylau | Michael Lau]] (mylau)<br />
*Added comments on the documentation for setting up Performance Testing framework for Windows<br />
*Tested the new and improved Performance Testing framework<br />
*Gave constructive feedback on new documentation<br />
<br />
[[User:Eor | Eva Or]] (eor)<br />
*Tested the new and improved Performance Testing framework<br />
*Gave constructive feedback on new documentation<br />
<br />
[[User:djhamp-g | David Hamp Gonsalves ]] (inveigle)<br />
*Gave pointers on flushing buffer<br />
*Helped with some grammar and sentence structuring for new documentation<br />
<br />
= Project Details =<br />
<br />
==Improved Documentation==<br />
[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]<br />
<br />
<br />
==Details==<br />
<br />
This is different from Tinderbox. Two major differences are:<br />
<br />
*First, it doesn't build, it just runs the performance test given a path to the executable. This is helpful if you're testing the performance of an extension or a build from another server. (You could build on a fast server, and then run performance tests on a machine with low memory). <br />
<br />
*Second, it measures performance characteristics while it's running the pageload tests--you can track cpu speed, memory, or any of the other counters listed [http://technet2.microsoft.com/WindowsServer/en/Library/86b5d116-6fb3-427b-af8c-9077162125fe1033.mspx?mfr=true here].<br />
<br />
<br />
==Web logs==<br />
*[http://weblogs.mozillazine.org/qa/ Mozilla Quality Assurance and Testing Blog for Mozilla Firefox and Thunderbird]<br />
*[http://wiki.mozilla.org/MozillaQualityAssurance:Performance_Testing Mozilla Quality Assurance Performance Testing]<br />
<br />
==Progress==<br />
<br />
<table style="width:100%;" border="1px" valign="top" class="standard-table" cellpadding=2 cellspacing=0><br />
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Task</th><br />
<th style="background-color:#333333; color:#F3F3F3">Details</th><br />
<th style="width: 10%; background-color:#333333; color:#F3F3F3">Priority</th><br />
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Contributors</th><br />
<th style="width: 15%; background-color:#333333; color:#F3F3F3">Status</th><br />
<tr><br />
<td valign="top">[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]</td><br />
<td valign="top"><br />
*The current setup configuration documentations are in text files and are very hard to follow. <br />
*From my experience, I've missed out a few configuration steps because the documents were all over the place and a tad confusing. <br />
</td><br />
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
</td><br />
<td valign="top"><br />
*Improving the current documentation so that it's easier to follow<br />
*Making sure that all the configuration documents are in one place <br />
*This is done along with the code base work I'm doing<br />
<br />
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">90% completed - Needs to be reviewed and tested out</div><br />
</td><br />
</tr><br />
<tr><br />
<td valign="top">Study performance testing framework</td><br />
<td valign="top"><br />
The framework has to be strengthened and improved. A discussion with Alice Nodelman is planned to discuss about things that could be done to make the framework stronger.<br />
</td><br />
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
* Alice Nodelman<br />
**Discussion on what needs to be done with the framework<br />
*[[User:Bhearsum | Ben Hearsum]]<br />
**Set up the VM for performance testing<br />
**Helped with the debugging process for report.py, run_tests.py and ts.py<br />
</td><br />
<td valign="top">Tested the framework and went through the coding in the framework. Made a list of the weaknesses of the framework and planned various resolutions.<br />
<br />
We have established that the following has to be done:<br />
<br />
*ease configuration of python framework<br />
** too many config files to edit<br />
***have to know whole framework to configure it<br />
***not flexible<br />
**tedious<br />
**too many directories to create<br />
**too many extra libraries to load<br />
***a lot of dependancies!<br />
**things have to be copied to special directories<br />
**bad configurations don't cause errors!<br />
<br />
<br />
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">100% completed</div><br />
</td><br />
</tr><br />
<br />
<tr><br />
<td valign="top">Configuration checker</td><br />
<td valign="top"><br />
The configuration checker will check if all the configuration is done before running the performance testing. The checker is in run_tests.py and it entails:<br />
* yaml file validator<br />
* paths.py validator<br />
<br />
This can only be done when the yaml file validator and paths.py validator are completed.<br />
</td><br />
<td style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;" valign="top">High</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
</td><br />
<td valign="top"><br />
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">Started and ongoing</div><br />
</td><br />
</tr><br />
<br />
<tr><br />
<td valign="top">yaml file validator</td><br />
<td valign="top"><br />
In run_tests.py:<br />
<br />
The validator of yaml file is weak. It only checks for certain items in the file and will crash if those items are not there or if those items doesn't have any value. It doesn't check for unexpected values and doesn't give the user a clue that their yaml file has a problem. <br />
<br />
</td><br />
<td valign="top" style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;">High<br />
<br />
</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
* [[User:Themystic| Tom Aratyn]]<br />
**Introduced closures<br />
</td><br />
<td valign="top"><br />
Changed the validator to check if items exist before storing the value. If one of the items doesn't exist, the program will terminate and it will let the user know that the yaml file has to be fixed. <br />
<br />
The yaml validator works in the following manner:<br />
<br />
*It takes in any config file, it doesn't matter if it's not a .yaml file<br />
*Goes through each item in the file and looks for specific items (filename, title, "profile name" - could be anything, firefox, preferences, extensions)<br />
*As it checks each item, it will print the progress to the console<br />
*Just as one item fails, it will terminate the app and will ask the user to fix the config file <br />
<br />
<br />
<div style="width:100%;background-color:#F3F3F3">100% completed (Alice reviewed)</div><br />
</td><br />
</tr><br />
<tr valign="top"><br />
<td valign="top">paths.py validator</td><br />
<td valign="top"><br />
Currently the run_tests.py file doesn't validate the paths.py file. If the user misses a path or does a bad directory configuration, the program will crash and give this error:<br />
<br />
<pre><br />
Traceback (most recent call last):<br />
File "C:\proj\mozilla\testing\<br />
performance\win32\run_tests.py", <br />
line 129, in ?<br />
test_file(sys.argv[i])<br />
File "C:\proj\mozilla\testing\<br />
performance\win32\run_tests.py", <br />
line 122, in test_file<br />
TP_RESOLUTION)<br />
File "C:\proj\mozilla\testing\<br />
performance\win32\report.py", line <br />
152, in GenerateReport<br />
mean = mean / len(ts_times[i])<br />
ZeroDivisionError: integer division <br />
or modulo by zero<br />
</pre><br />
<br />
The following has to be done in the run_tests.py file to validate the paths.py file:<br />
*checks paths for existance<br />
*notify user if path doesnt exist and ask user if they want it created<br />
*check if the directories have contents<br />
<br />
</td><br />
<td valign="top" style="background-color: #990000; text-align: center; font-weight: bold; color: #ffffff;">High</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
* Alice Nodelman<br />
** Gave pointers<br />
* [[User:Robcee | Rob Campbell]]<br />
** Gave some suggestions in relation to Python<br />
</td><br />
<td valign="top"><br />
<b>Most updated progress</b><br />
*Working state<br />
** In run_tests.py, it checks all the directory paths in paths.py (paths.BASE_PROFILE_DIR, paths.REPORTS_DIR) <br />
** Prints to console each time it's checking to allow the developer to know which dir it's checking<br />
** If a directory doesn't exist, the app will terminate and will let the developer know which directory has to be made<br />
** Alternative, change the path in paths.py to point to the right path<br />
** Initially I have it set to make the directories if they don't exist, however, Alice adviced that I should allow the developer to do it himself/herself<br />
** Checks if base_profile contents exist!<br />
** Got some suggestions from [[User:Robcee | Rob Campbell]], going to work with his suggestions<br />
** Checks file urls<br />
<br />
*Things left to do<br />
** Check if base_profile contents exist - DONE<br />
*** Alice adviced that I should check contents in general - no specific files or directories because they can change depending on what the developer is testing<br />
** Check files in (file:///c:/) format - DONE<br />
*** create a temporary variable for the local pathname, convert the path to the os path and then check<br />
*** split and join<br />
*** urlparse<br />
** Work on checking Cygwin paths <br />
*** split and join<br />
<br />
<br />
<br />
<b>Older progress</b><br />
*I have fixed the run_tests.py to check if the user's directories exist on their system and it prompts them to make the directories. <br />
<br />
*I'm currently working on checking if the following directories exist:<br />
**extension_perf_reports<br />
*** The graphs and results will be generated in this folder<br />
**extension_perf_testing directory and base_profile directory.<br />
***There are several levels in the directory. Here is the basic outline of the directory structure:<br />
<pre><br />
extension_perf_testing(dir)<br />
|<br />
|<br />
base_profile (dir)<br />
|<br />
|__ bookmarkbackups (dir)<br />
| |<br />
| |__ .html files<br />
|<br />
|__ Cache (dir)<br />
|<br />
|__ .bak, .html, .ini, <br />
.dat, .txt, .rdf, <br />
.mfl files <br />
(most important file - perf.js) <br />
</pre><br />
<br />
*I haven't went through a thorough discussion with Alice on which files should be validated in the base_profile dir. From what I've gathered from the other discussions we had, the perf.js file will crash the program is it's non-existent. <br />
<br />
*I have fixed the program to check for the existence of the base_profile dir and it also checks if the bookmarkbackups, Cache dirs and perf.js dir exist. <br />
<br />
<div style="width:100%;background-color:#F3F3F3">95% completed</div><br />
</td><br />
<br />
</tr><br />
<tr><br />
<td valign="top">Get all the configuration in one place</td><br />
<td valign="top"><br />
The framework is currently very confusing and the configuration is all over the place! This has to be fixed, but it's not the main priority:<br />
* paths.py, config.yml, constants<br />
* have to run both ts and tp at the same time <br />
<br />
As long as a good documentation is provided, this is not a main priority<br />
</td><br />
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
</td><br />
<td valign="top"><br />
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;"><br />
Changed structure of directory<br />
<br />
<br />
80% completed - needs to be reviewed</div><br />
</td><br />
</tr><br />
<tr><br />
<td valign="top">Setup and test out the current Performance Testing framework using the provided documentation (not mine) to discover more flaws in either the framework or documentation. This will facilitate me in using a more user-oriented approach when improving the framework and documentation</td><br />
<td valign="top"><br />
More input is welcome on the current Performance Testing framework to help improve it. <br />
</td><br />
<td style="background-color: #E9DA73; text-align: center; font-weight: bold; color: #333333;" valign="top">Medium</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
* [[User:mylau|Mike Lau]]<br />
** Setup framework and provided [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Documenatation | comments]] on the documentation<br />
</td><br />
<td valign="top"><br />
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">on-going</div><br />
</td><br />
</tr><br />
<tr><br />
<td valign="top">Get class to test out the Performance Testing framework</td><br />
<td valign="top"><br />
The improved framework has to be tested to get constructive feedback from the users using the new [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]<br />
</td><br />
<td style="background-color: #F8F8F8; text-align: center; font-weight: bold; color: #333333;" valign="top">Low</td><br />
<td valign="top"><br />
* [[User:elichak|Liz Chak]]<br />
* [[User:eor | Eva Or]] & [[User:mylau | Mike Lau]]<br />
** Setup framework using the new documentation - Things to look out for: If it's user-oriented and if it is easy to setup<br />
** Gave constructive feedback on documentation<br />
</td><br />
<td valign="top"><br />
<div style="width:100%;background-color:#F3F3F3;position:relative;margin-bottom:0px;">10% completed</div><br />
</td><br />
</tr><br />
</table><br />
<br />
==Comments on the current Documentation (By Mike Lau)==<br />
<br />
'''Getting Started'''<br />
* I was not sure what to do after unzipping the win32.zip file.<br />
<br />
<br />
'''Comments on The [[Readme.txt | README.TXT]] File<br />
* The [[Readme.txt | README.TXT]] file is hard to read in notepad. There's horizontal scrolling after opening the file. <br />
* The file should have output samples to show the user what output to expect and to ensure they are on the right track.<br />
* The pre-requisites part of the [[Readme.txt | README.TXT]] file is missing minimum size to be allocated in the computer to complete the install.<br />
* Following the procedures for installation was difficult. The document should number the procedures and have sample outputs to ensure the user is going on the right track<br />
* Some of the folders which was listed in the Directory Structure was missing in the setup procedures. The Directory Structure should be used as a guide to ensure users have the right folders in place. Also, there should be an image to represent the directory structure. Some of the folders which needed to be created on top of following the procedures provided were: base_profile, extension_perf_testing, extension_perf_reports<br />
* The Setup part was hard to follow. Most of the steps were not intuitive. <br />
* Step 4 of the procedures was unclear. I was not sure what kind of YAML config file to be created. The document should tell the user expcity what the file name needs to be called as or tell the user they can call it however they wish. It should also show an example filename as well. <br />
<br />
<br />
'''Running The Application'''<br />
<br />
After following the setup procedures, I typed the following command:<br />
c:\> run_tests.py config.YAML<br />
<br />
And I got the following error message in the command prompt and a popup window ([[User:elichak | Liz Chak]] - [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Project_Problems_and_Solutions | Solution]] to this problem):<br />
<br />
[[Image:Sc1.JPG]]<br />
<br />
=Project Problems and Solutions=<br />
==Problem: Firefox doesn't know how to open this address, because the protocol (c) isn't associated with any programs==<br />
<br />
If you didn't configure the paths.py paths correctly, you may run into this problem when you run the Performance Testing Framework:<br />
<br />
[[Image:Sc1.JPG]]<br />
<br />
==Solution: Firefox doesn't know how to open this address, because the protocol (c) isn't associated with any programs==<br />
In paths.py, the paths for INIT_URL, TS_URL and TP_URL have to be a local file url, not file path (file:///c:/):<br />
<pre><br />
"""The path to the file url to load when initializing a new profile"""<br />
INIT_URL = 'file:///c:/project/mozilla/testing/performance/win32/initialize.html'<br />
<br />
"""The path to the file url to load for startup test (Ts)"""<br />
TS_URL = 'file:///c:/project/mozilla/testing/performance/win32/startup_test/startup_test.html?begin='<br />
<br />
"""The path to the file url to load for page load test (Tp)"""<br />
TP_URL = 'file:///c:/project/mozilla/testing/performance/win32/page_load_test/cycler.html'<br />
</pre><br />
<br />
==Problem: ZeroDivisionError: integer division or modulo by zero ==<br />
<pre><br />
Traceback (most recent call last):<br />
File "C:\proj\mozilla\testing\performance\win32\run_tests.py", line 129, in ?<br />
test_file(sys.argv[i])<br />
File "C:\proj\mozilla\testing\performance\win32\run_tests.py", line 122, in te<br />
st_file<br />
TP_RESOLUTION)<br />
File "C:\proj\mozilla\testing\performance\win32\report.py", line 152, in Gener<br />
ateReport<br />
mean = mean / len(ts_times[i])<br />
ZeroDivisionError: integer division or modulo by zero<br />
</pre><br />
<br />
==Solution: ZeroDivisionError: integer division or modulo by zero ==<br />
<br />
Check if there is <b>contents</b> in the base_profile directory that you have set for <b>BASE_PROFILE_DIR</b> in paths.py:<br />
* By default in paths.py: BASE_PROFILE_DIR = r'C:\extension_perf_testing\base_profile'<br />
* The BASE_PROFILE_DIR could be a different path, it doesn't have to be like the one above.<br />
<br />
==Problem: This page should close Firefox. If it does not, please make sure that the dom.allow_scripts_to_close_windows preference is set to true in about:config==<br />
*You have to change the dom.allow_scripts_to_close_windows preference to true<br />
<br />
==Solution: This page should close Firefox. If it does not, please make sure that the dom.allow_scripts_to_close_windows preference is set to true in about:config==<br />
*Type in about:config in the address bar<br />
*Scroll down and look for dom.allow_scripts_to_close_windows<br />
*Double click on it to set it to true<br />
<br />
= Project News =<br />
==Saturday, September 23, 2006==<br />
<br />
Performance tests didn't run sucessfully.<br />
* There weren't any results generated in the <b>extension_perf_testing\base_profile</b> and <b>extension_perf_reports</b> folders.<br />
* Output after the performance tests were run:<br />
<pre><br />
Traceback (most recent call last):<br />
File "C:\proj\mozilla\testing\performance\win32\run_tests.py", line 129, in ?<br />
test_file(sys.argv[i])<br />
File "C:\proj\mozilla\testing\performance\win32\run_tests.py", line 122, in te<br />
st_file<br />
TP_RESOLUTION)<br />
File "C:\proj\mozilla\testing\performance\win32\report.py", line 152, in Gener<br />
ateReport<br />
mean = mean / len(ts_times[i])<br />
ZeroDivisionError: integer division or modulo by zero<br />
</pre><br />
<br />
==Sunday, September 24, 2006==<br />
<br />
Understand further the approach to testing with the Python framework<br />
<br />
<br />
==Monday, September 25, 2006==<br />
<br />
[[User:Elichak | elichak]] will be working on a resolution with alice to get the results generated in the <b>extension_perf_testing\base_profile</b> and <b>extension_perf_reports</b> folders.<br />
<br />
<br />
==Friday, September 29, 2006==<br />
<br />
[[User:Elichak | elichak]] re-configured the environment of the machine to run the tests again. Cleaned up old files to do a clean test. Reinstalled Cygwin (replaced Make 3.80 with Make 3.81) and updated the testing files through CVS.<br />
<br />
<br />
==Sunday, October 1, 2006==<br />
<br />
Alice has successfully run the tests. The Zero Division error didn't occur again after she updated her test files. There were results generated in the <b>extension_perf_testing\base_profile</b> and <b>extension_perf_reports</b> folders. [[User:Elichak | elichak]] attempted to run the test with the alice's code but the Zero Divsion Error still occured on her machine.<br />
<br />
<br />
==Wednesday, October 4, 2006==<br />
<br />
[[User:elichak|Elichak ]] consulted Robcee about the Zero Division Error and he suggested a few things, like debugging the script. [[User:elichak|Elichak]] found out that the value of <b>ts_time</b> in the <b>report.py</b> file is empty but couldn't find out why the value of <b>ts_time</b> isn't assigned. According to alice, she didn't debug the scripts and only had to update the files to make them work. <br />
<br />
<br />
==Friday, October 6, 2006==<br />
<br />
[[User:bhearsum | Ben]] set up the VM for [[User:elichak | elichak]] to run her performance testing in that environment. <br />
<br />
<br />
==Wednesday, October 11, 2006==<br />
<br />
*[[User:elichak | elichak]] configured the environment in the VM for her testing. The tests still gave the same results as before:<br />
:*Zero Division Error at lines 122 and 129 in <b>run_tests.py</b> and line 153 in <b>report.py</b><br />
:*2 files in the <b>extension_perf_reports</b> dir are generated but there are no graphs <br />
<br />
*[[User:elichak | elichak]] also changed the TS_NUM_RUNS, TP_NUM_CYCLES, TP_RESOLUTION values to 1 in run_tests.py to shorten the cycles of the performance testing for the purpose of debugging the scripts.<br />
*The error occurs in <b>report.py</b> because <b>ts_time</b> is empty, therefore, this fails:<br />
<pre><br />
for ts_time in ts_times[i]:<br />
mean += float(ts_time)<br />
mean = mean / len(ts_times[i])<br />
</pre> <br />
<br />
*[[User:bhearsum | Ben]] assisted [[User:elichak | elichak]] with the debugging process. [[User:elichak | elichak]] and [[User:bhearsum | Ben]] hacked deeper down into the scripts. <br />
<br />
*We speculate that the thing that is affecting the value of ts_time being generated is in <b>ffprocess.py</b>: RunProcessAndWaitForOutput always returns None in line 232 <pre>return (None, True)</pre><br />
<br />
*Further debugging by [[User:elichak|elichak]] is in process<br />
<br />
<br />
==Thusday, October 12, 2006==<br />
===Work completed===<br />
The Zero Division Error is solved. Turns out that it was just a configuration problem. The documentation to set up the environment was rather subtle and needs a re-work. <br />
<br />
<b>Solution</b><br />
<br />
Contents in the <b>C:\proj\mozilla\testing\performance\win32\base_profile </b> should also be in <b>C:\extension_perf_testing\base_profile</b> dir.<br />
<br />
All work for this project is done on the VM, hera.senecac.on.ca<br />
<br />
===Work in progress===<br />
[[User:elichak|elichak]]<br />
*Trying out a few things in the framework to find out which direction I would like to do to the framework, either building new tests, improving on existing ones, strengthening the framework itself or porting it to other OS's<br />
*Revise the Firefox Performance Testing documentation<br />
<br />
==Friday, 20 Oct 2006 ==<br />
Last week, elichak has established to work on automating the setup of the environment and performance testing. The performance testing and environment setup is currently all over the place and is tedious for the developer to set it up.<br />
<br />
The automation will entail:<br />
<br />
Generating directories, dropping files in directories, installation of libraries, options to configure the performance testings etc.<br />
<br />
==Tuesday, 31 Oct 2006==<br />
Alice and Liz had a meeting and have established the key things that need to be done.<br />
What needs to be done:<br />
*ease configuration of python framework<br />
** too many config files to edit<br />
***have to know whole framework to configure it<br />
***not flexible<br />
**tedious<br />
**too many directories to create<br />
**too many extra libraries to load<br />
***a lot of dependancies!<br />
**things have to be copied to special directories<br />
**bad configurations don't cause errors!<br />
<br />
How do we fix this?<br />
*configuration checker<br />
** yaml file validator<br />
**paths.py validator<br />
***checking the paths for existance<br />
***notify user if path doesnt exist and ask user if they want it created<br />
***checking if the directories have contents<br />
*next steps<br />
**get all the configuration in one place!<br />
***paths.py, config.yml, constants<br />
***have to run both ts and tp at the same time<br />
<br />
==Tuesday, 21 Nov 2006==<br />
Refer to progress chart.<br />
[[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Progress| Performance Testing Framework progress chart]]<br />
<br />
=Project References=<br />
*I recommend these sites to learn about python:<br />
**[http://aspn.activestate.com/ASPN/Cookbook/Python ASPN Python Cookbook]<br />
**[http://docs.python.org/lib/os-file-dir.html Files and Directories]<br />
<br />
= Project Events =<br />
==In class Firefox Performance Testing==<br />
'''Before you begin'''<br />
# You have to be on a Windows operating system<br />
# Take a deep breath and go through the [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows_Documentation | Performance Testing Setup Configuration Documentation]]<br />
# Make a page under [[Firefox_Performance_Testing_:_A_Python_framework_for_Windows#Comments_on_the_Firefox_Performance_Testing_Framework | Comments on the Firefox Performance Testing Framework (see below)]] to list out your comments on the framework<br />
# The performance testing is only successful if you see generated results in the reports directory (you'll understand what this means once you start)<br />
# Ask [[User:Elichak | Liz Chak]] if you have any questions<br />
<br />
'''Things to look out for'''<br />
# If the documentation is easy to follow<br />
# Did you stumble upon any difficulty? If so, state them<br />
# List any system errors, if any (with the error message and a brief description of what you think caused it)<br />
<br />
===Comments on the Firefox Performance Testing Framework===<br />
'''Instructions:'''<br />
* Make a page starting with your name/nick and end with "perf comments" (to ensure uniqueness)<br />
* Example: [[Liz Chak perf comments]]<br />
<br />
'''List of comments:'''<br />
<br />
* [[Mark D'Souza perf comments]]<br />
* [[Sherman Fernandes perf comments]]<br />
* [[Aditya Nanda Kuswanto perf comments]]<br />
* [[Richard Chu perf comments]]<br />
* [[David Manley perf comments]]<br />
* [[Colin Guy perf comments]]<br />
* [[Mohamed Attar perf comments]]<br />
* [[Man Choi Kwan perf comments]]<br />
* [[Mark Paruzel pref comments]]<br />
* [[Jeff Mossop perf comments]]<br />
* [[Melissa Peh perf comments]]<br />
* [[Paul Yanchun Gu comments]]<br />
* [[Vanessa Miranda comments]]<br />
* [[Philip Vitorino perf comments]]<br />
<br />
==Bon Echo Community Test Day==<br />
<br />
:Friday, October 06, 2006, from 7am - 5pm PDT<br />
<br />
:[http://wiki.mozilla.org/Mozilla_QA_Community:BonEcho_2.0RC1prerelease_Community_Test_Day Mozilla QA Community:BonEcho 2.0RC1 prerelease Community Test Day ]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Talk:Generalization_of_Joga_extension&diff=6966Talk:Generalization of Joga extension2006-11-29T16:57:02Z<p>Pcvitori: </p>
<hr />
<div>You should consider adding a screenshot of your extension so people can see it without having to install it first. ([[User:David.humphrey|David.humphrey]] 16:03, 21 November 2006 (EST))<br />
<br />
Hey paul, this is how you create a new tab into Firefox:<br />
<br />
<pre><br />
function openInNewTab (webpage)<br />
if(webpage != '')<br />
{<br />
var newTab = gBrowser.addTab(webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
<br />
Let me know if this works. --[[User:Pcvitori|Pcvitori]] 11:52, 29 November 2006 (EST)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Talk:Generalization_of_Joga_extension&diff=6964Talk:Generalization of Joga extension2006-11-29T16:52:14Z<p>Pcvitori: </p>
<hr />
<div>You should consider adding a screenshot of your extension so people can see it without having to install it first. ([[User:David.humphrey|David.humphrey]] 16:03, 21 November 2006 (EST))<br />
<br />
Hey paul, this is how you create a new tab into Firefox:<br />
<br />
<pre><br />
function openInNewTab ()<br />
if(popTart_current_webpage != '')<br />
{<br />
var newTab = gBrowser.addTab(popTart_current_webpage); <br />
gBrowser.selectedTab = newTab; <br />
}<br />
}<br />
</pre><br />
<br />
Let me know if this works. --[[User:Pcvitori|Pcvitori]] 11:52, 29 November 2006 (EST)</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=FAQ&diff=6345FAQ2006-11-21T23:47:00Z<p>Pcvitori: </p>
<hr />
<div>This FAQ is meant to provide a place for you to capture knowledge as you begin working on Mozilla development. When someone answers a question for you, consider adding it below. Create new topic headings as necessary.<br />
<br />
==Building Firefox==<br />
<br />
# '''Where can I get information on building Firefox or other Mozilla products?'''<br />
#: Start with the documentation on [http://developer.mozilla.org MDC]: http://developer.mozilla.org/en/docs/Build_Documentation.<br />
# '''Where can I get more help building Firefox on Windows?'''<br />
#: See [http://cs.senecac.on.ca/%7Edavid.humphrey/writing/firefox-win32-build.html Building Firefox on Win32 using Visual Studio .NET 2005].<br />
#: <b>[http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 Windows Build Documentation is updated - 17:15, Sept 16 2006 (EST)]</b><br />
#: ''Seneca students can get Visual Studios .NET 2003 or 2005 from [http://acs.senecac.on.ca/pages/download.php ACS].''<br />
# '''How can I checkout the source code when ACS is blocking ports?'''<br />
#: Open up two terminals. The first one makes a tunnel to matrix. In terminal 1:<br />
#: ssh -L 2401:cvs-mirror.mozilla.org:2401 -l yourusername yourusername@matrix<br />
#: In terminal 2:<br />
#: cvs -d :pserver:anonymous:anonymous@localhost:/cvsroot co mozilla/client.mk<br />
<br />
== IRC ==<br />
<br />
# '''Where can I find a comprehensive list of IRC clients?'''<br />
#: Visit http://en.wikipedia.org/wiki/List_of_IRC_clients for a list of IRC clients on various platforms. Two popular choices are [http://www.hacksrus.com/~ginda/chatzilla/ Chatzilla] and [http://www.irssi.org/ irssi].<br />
# '''Where can I ask for help on IRC?'''<br />
#: Use the '''#seneca''', '''#firefox''', '''#build''' or '''#developers''' channels on irc://irc.mozilla.org.<br />
# '''What is the best way to share long error messages or other text that is too big to copy/paste into IRC?'''<br />
#: Use a pastebin at http://pastebin.ca/ or http://pastebin.mozilla.org/ to copy/paste your output. Then paste the resulting URL into IRC.<br />
# '''What is the best way to share long URLs in IRC?'''<br />
#: Use http://tinyurl.com/ and paste the resulting URL into IRC.<br />
# '''IRSSI + Terminal Server:'''<br />
#: Click for a quick [[Irssi Tutorial]]<br />
#: [http://f0rked.com/articles/irssidoc IRSSI Documentation and Resources]<br />
# '''What do all these acronyms stand for?'''<br />
#: Look them up on the [http://www.nebula.sorcery.net/glossary/ Glossary of IRC terminology]<br />
<br />
==SVN==<br />
# '''What is SVN?'''<br />
#: Subversion (or SVN for short) is a revision control system that is used to track changes to a project's file repository. SVN tracks changes to the repository made by each project collaborator. SVN tracks changes and can be used to analyze differences and undo changes at a later time if needed. This allows for greater collaboration and speed , while minimizing (though never completely elimintating) risks associated with duplication and overwriting each others work. Project contents need not be limited to source code files.<br />
# '''Where can I find an SVN tutorial?'''<br />
#:* [[Subversion_tutorial|Here]]<br />
#:* [[SVN|SVN at a glance]]<br />
# '''More complete documentation?'''<br />
#: Detailed SVN tutorials and other help information can be found in the [http://svnbook.red-bean.com/ free official online book] by [http://www.oreilly.com/ O'Reilly Media.]<br />
# '''Where can I find an SVN Client?<br />
#: View a [http://subversion.tigris.org/links.html#clients list of SVN clients] available for various platforms and development environments.<br />
# <b>SVN at a glance:</b> [[SVN]]<br />
===Common Commands===<br />
* To access the svn repository for your project, use the following command to 'check out' your project. <br />
<pre><br />
svn checkout svn://cdot.senecac.on.ca/<yourprojecthere>/<br />
</pre><br />
* Once you have your repository sandbox, change directories into the project folder.<br />
* To add a file to your svn repository, use the following command:<br />
<pre><br />
svn add <filename><br />
</pre><br />
* To remove a file from your svn repository, type:<br />
<pre><br />
svn remove <filename><br />
</pre><br />
* To update the repository with your latest changes to the repository, type:<br />
<pre><br />
svn commit -m "type a message here that explains what you're committing"<br />
</pre><br />
* To update the sandbox located on your local machine to the same version on the repository, type:<br />
<pre><br />
svn update<br />
</pre><br />
*To revert/undo file into its pre-modified state (More on [[SVN#svn_revert|svn revert]]):<br />
<pre><br />
$ svn revert <filename><br />
</pre><br />
* To view all the changes (commits) made on a svn repository, type:<br />
<pre><br />
svn log<br />
</pre><br />
:It is very important that you type useful messages when committing code.<br />
* How do i resolve a conflicted file? (To better understand the use of this command, check out: [[SVN#Resolve_Conflicts_.28Merging_Others.27_Changes.29 | Resolve Conflicts (Merging Others' Changes)]])<br />
<pre><br />
svn resolved <filename><br />
</pre><br />
* Here is how to create a patch using svn. Everything in square brackets is optional. If you provide no additional arguements, then a diff file would be made of all the changes you have done since the last commit/update.<br />
<pre> svn diff [-r from[:to]] [filename|directory] > mypatch.patch</pre><br />
<br />
==Terminology==<br />
<br />
# '''What does MDC or devmo refer to?'''<br />
#: Mozilla Developer Center - http://developer.mozilla.org.<br />
# '''What does MoCo stand for?'''<br />
#: Mozilla Corporation - http://www.mozilla.com/.<br />
<br />
<br />
==VMWare==<br />
# '''What is a VM appliance?'''<br />
#: A VM appliance is pre-configured, pre-packaged image of an operating system or environment. This allows you to simply download these appliances and not have to worry about downloading iso images and burning CD's etc. to install an OS. VM appliances are opened with the VMPlayer.<br />
# '''How do I get VM appliances?'''<br />
#: To get started you will need to [http://www.vmware.com/download/player/download install the VMWare player.] or [http://www.vmware.com/download/server/ VMWare Server] To use an appliance, simply download and unzip it. Then launch VM Player or Server and open it when prompted.<br />
# '''Where can I find a listing of available VM appliances?'''<br />
#: A detailed listing of available VM Appliances can be found at the [http://www.vmware.com/vmtn/appliances/directory/ Virtual Appliance Directory].<br />
# '''Why is there a shortage/absence of appliances for Microsoft Operating Systems in the directory?'''<br />
#: Appliances can be created for Microsoft operating systems just they can be created for the the various other operating systems (e.g. Ubuntu, Fedora etc.) using VMWare Workstation. However, licensing restrictions remain the only factor limiting the availabilty of MS operating systems.<br />
# '''Is there a way to create your own virtual machines (appliances) using only the VMWare Player?'''<br />
#: The easiest method to create VM appliances is using VM Server or Workstation edition. However, Mike Shaver was able to locate a [http://hackaday.com/2005/10/24/how-to-vmware-player-modification hack for this]. There is even a [http://rhysgoodwin.orcon.net.nz/vmxwizard/ free third party wizard applicaton] that can help you create your on VM's to run on the VM Player.<br />
<br />
==Other==<br />
<br />
# '''How do I find out who owns what module in the Mozilla Tree?'''<br />
#: Visit: [http://www.mozilla.org/owners.html http://www.mozilla.org/owners.html]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=6344OS X Keychain integration2006-11-21T23:26:26Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.<br />
<br />
* '''November 21st, 2006''' - Currently waiting for assistance on implementing our keychain code into the Mozilla tree. There is an issue that also affects our project regarding the usage of Security.framework and protypes.h. Bug [https://bugzilla.mozilla.org/show_bug.cgi?id=360583 #360583] is currently investigating this issue.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Talk:Mozilla.dev.tech.layout&diff=6297Talk:Mozilla.dev.tech.layout2006-11-18T04:01:15Z<p>Pcvitori: </p>
<hr />
<div>Note that the last 2 updates by tom were by philly. For some reason, tom wasn't fully logged out of wiki on my notebook.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=User:Pcvitori&diff=6180User:Pcvitori2006-11-15T01:50:32Z<p>Pcvitori: /* Projects */</p>
<hr />
<div>=About Me=<br />
<br />
Hi, I'm '''Philip Vitorino''' (philly in IRC). I am currently a fourth year student of the Bachelor's of Software Development (BSD) Program at Seneca College. <br />
<br />
'''Email''': pcvitori at learn.senecac.on.ca<br />
<br />
=Projects=<br />
<br />
:[[OS_X_Keychain_integration|OS X Keychain Integration]] (Project Lead)<br />
:[[Simple_Citation|Simple Citation]] (Project Lead)<br />
:[[Mozilla%40Seneca_Wiki_Administration|Mozilla Seneca Wiki Administration]] (Project Contributer)<br />
:[[Vista_Testing|Vista Testing]] (Project Contributer)<br />
:[[Distcc_With_MSVC|Distcc With MSVC]] (Project Contributer)<br />
<br />
=Contributions=<br />
<br />
:[[Special:Contributions/Pcvitori|My Contributions]]<br />
<br />
:[https://bugzilla.mozilla.org/show_bug.cgi?id=359418 Bug# 359418]<br />
<br />
=Assignments=<br />
<br />
:[http://cs1.senecac.on.ca/wiki/index.php/Assignment_1_%28Pcvitori%29 Assignment 1]<br />
<br />
:[[XPConnect|Mozilla Technology Summary - XPConnect]]<br />
<br />
:[[Mozilla.dev.tech.layout|Newsgroup Summary]]<br />
<br />
:[[LXR_Findings:_View_Image|LXR Exercise: View Image]]<br />
<br />
=External Links=<br />
<br />
:[http://www.philv.com philv.com]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Distcc_with_MSVC:CL_Options&diff=6138Distcc with MSVC:CL Options2006-11-13T22:27:56Z<p>Pcvitori: /* Tutorial */</p>
<hr />
<div>= CL Options =<br />
<br />
So you'd like to help with the [[Distcc With MSVC]] options.<br />
<br />
= Why CL Options Are Important =<br />
<br />
The way distcc works is that you send out source code to other machines (called slaves) for them to compile. This speeds up the compilation time. But how can the slave know how to compile this code that was sent to it? What happens is that distcc also sends the compile line to the slave. But it can't be the full line because:<br />
# some options don't make sense for the compiler (e.g. options for the linker or the preprocessor).<br />
# some options require things that are only applicable if the entire local code base is around<br />
# some options require you to send multiple files back (e.g. sending back .obj and .pdb objects is unsupported).<br />
<br />
= Tutorial =<br />
This tutorial is a quick way to check if a cl option is supported in distcc. You will have to follow these steps.<br />
# create a simple file. Try to #include some things like stdio.h and other .h files. You can use this code or write your own:<br />
<pre><br />
#include <stdio.h><br />
<br />
int main() {<br />
printf("Hello World");<br />
}<br />
</pre><br />
# preprocess the file. Use the /P for this, the file will be called <filename>.i<br />
# move the file to some other location on your filesystem, you can create a temporary folder for this. (e.g. if your source is in ~/src, move it to ~/tmpdir and try to compile there.)<br />
# compile to object code. Pass the /Fo<filename>.obj /c to compile only to object code. If no object code or you get a warning, please give either document on this page or if you feel really unsure, post in the discussion. When documenting please specify if your documentation comes from reading or doing. If reading is not from msdn please link to where you got your information. <br />
<br />
== Questionable Options ==<br />
<br />
MSDN has [http://msdn2.microsoft.com/en-us/library/19z1t1wy.aspx categorical listing of cl options].<br />
<br />
*/arch<br />
*/bigobj<br />
*/clr<br />
*/EH<br />
*/favor<br />
*/fp<br />
*/G1<br />
*/G2<br />
*/Gd<br />
*/Ge<br />
*/GF<br />
*/Gh<br />
*/GH<br />
*/GL<br />
*/Gm<br />
*/GR<br />
*/Gr<br />
*/Gs<br />
*/GT<br />
*/GX<br />
*/Gy<br />
*/Gz<br />
*/MD<br />
*/MDd<br />
*/MT<br />
*/MTd<br />
*@<br />
*: lets you add a file with compiler options. This must be eliminated as the file can't be sent to the slave. (for reading)<br />
*/?<br />
*: You'd think this would cause problems but distcc leaves it be... OK! (from reading)<br />
*/analyze<br />
*: runs an analysis on the code and will bring up more warnings... This is ok, all it does is increase number of warning messages and may cause build to fail but the user did '''ask''' for it, so that's fine. (from reading).<br />
*/c<br />
*: only compile, don't link. (from doing)<br />
*/doc<br />
*: generate sone documentation in a xdc file. Killing this option since you can't get the file back from the slave.<br />
*/errorReport<br />
*/FC<br />
*/H<br />
*/HELP<br />
*: You'd think this would cause problems but distcc leaves it be... OK!<br />
*/hotpatch<br />
*/J<br />
*/nologo<br />
*/QIfist<br />
*/QIPF_B<br />
*/QIPF_C<br />
*/QIPF_fr32<br />
*/QIPF_noPIC<br />
*/QIPF_restrict_plabels<br />
*/showIncludes<br />
*/Tc/TC<br />
*/Tp/TP<br />
*/V<br />
*/W<br />
*/w<br />
*/Wall<br />
*/WL<br />
*/Zm</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=6123OS X Keychain integration2006-11-11T20:48:59Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain item were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat resolve the issue. <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=6122OS X Keychain integration2006-11-11T20:47:24Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.<br />
<br />
* '''November 11th, 2006''' - The following events occurred today:<br />
:* Moe determined that two functions within the keychain reference API already create and retrieve internet passwords. The functions for saving and retriving a keychain password were created. <br />
:* Phil began locating a starting point to fork their objects into the FF code: [http://lxr.mozilla.org/mozilla1.8/source/toolkit/components/satchel/src/nsFormFillController.cpp#519 nsFormFillController.cpp]<br />
:* After working on MAC1 for more then 15 minutes, the screen froze. After three more tries with no success, all work had to be moved onto MAC2. Currently, MAC2 has a issue with its display that is VERY distracting to the user. The desktop background had to be changed to black to somewhat re <br />
:* A problem occurred when the intel build from Moe's mac was placed on MAC2 (G4). Moe had to reinstall xcode so that universal binaries could be supported.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=OS_X_Keychain_integration&diff=6121OS X Keychain integration2006-11-11T18:48:50Z<p>Pcvitori: /* Project News */</p>
<hr />
<div>== Project Name ==<br />
<br />
OS X Keychain <br />
<br />
== Project Description ==<br />
<br />
The goal of this project is to enable Firefox to use the Keychain service available in Mac OS X in order to store saved passwords for consistency and ease of use.<br />
<br />
Related links: <br />
;[http://developer.apple.com/documentation/Security/Reference/keychainservices/index.html#//apple_ref/doc/uid/TP30000898 Keychain Services Reference]<br />
;[http://www.apple.com/macosx/features/security/ Mac OS X Security]<br />
;[https://bugzilla.mozilla.org/show_bug.cgi?id=106400 BugZilla Reference]<br />
;http://wiki.mozilla.org/Firefox:Password_Manager<br />
<br />
== Project Leader(s) ==<br />
<br />
;[[User:moe|Mohammad Tirtashi]]<br />
;[[User:Pcvitori|Philip Vitorino]]<br />
<br />
== Project Contributor(s) ==<br />
N/A<br />
<br />
== Project Details ==<br />
<br />
:How to approach the problem:<br />
:# Analyze the existing code for Keychain support in the Camino browser.<br />
:# Review the existing Keychain support code in the Firefox codebase which was originally added by Apple.<br />
:# Understand how wallet works and how passwords are stored in Firefox. Thereby learning how to interject our Keychain piece in the middle.<br />
:# Clarify our objective in terms of what our main focus will be in this project. ie (Full keychain support w/o wallet, keychain support + wallet at its side, etc...)<br />
<br />
== Project News ==<br />
<br />
* '''September 16, 2006''' - Dave is looking into getting Mac hardware access for this, and should know soon. Also, you want to ping '''mento''' for this, not '''stuart'''. '''mento''' is in #seneca.<br />
<br />
:I have tried to contact stuart on irc who idles both #seneca and #camino. I think he will be the go to guy if we have any questions in regards to OS X related Mozilla stuff. He should be able to point us to the right direction.<br />
<br />
* '''September 22, 2006''' - Moe and Phil ventured through the firefox code and found some implementations of the osx keychain that were disabled. We enabled those options and Moe will recompile the code over night so we can further our tests tomorrow.<br />
<br />
* '''September 23, 2006''' - Moe tested his newly built firefox with the osx options enabled, but nothing happened. Both Phil and Moe then continued to look through the firefox code and located various instances of logic towards Apple's keychain.<br />
<br />
* '''September 30, 2006''' - We have been informed by one of the Camino team members that they are no longer supporting keychain manager in their next version of Camino. As far as this project is concerned we have decided to also follow their move into avoiding the keychain manager and use keychain service calls for our purpose.<br />
<br />
* '''September 30, 2006''' - Phil continued looking through existing Firefox code to further understand the current wallet and existing keychain implementations. The following data files were found and analyised:<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/browser/components/shell/src/nsMacShellService.cpp#403 nsMacShellServer.cpp#403]<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/wallet.cpp wallet.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.h singsign.h] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/extensions/wallet/src/singsign.cpp singsign.cpp] - Used for Sea Monkey<br />
** [http://lxr.mozilla.org/mozilla1.8.0/source/toolkit/locales/en-US/chrome/passwordmgr/passwordmgr.properties#43 passwordmgr.properties#43] - GUI Starting point properties for the current wallet. I am currently following these values:<br />
<pre><br />
42 rememberButtonText = &Remember<br />
43 notNowButtonText = &Not Now<br />
44 neverForSiteButtonText = Ne&ver for This Site<br />
</pre><br />
<br />
* '''October 7th, 2006''' - Moe and Phil ventured through the nsPasswordManager.cpp file and tried to decipher its contents. We then began setting up our svn that Andrew created for us.<br />
<br />
* '''October 14th, 2006''' - We located an application (http://homepage.mac.com/agerson/examples/keychain/) today that utilizes the various features of Apple’s keychain API. This application allowed us to understand how the API works, even though it’s coded in objective-c. We then created a branch of our Mozilla 1.5.0.7 trunk and created our keychain integration files.<br />
:*Keychain.cpp<br />
:*Keychain.h<br />
<br />
:Let the coding begin!<br />
<br />
* '''October 21st, 2006''' - We began writing simple code to create and retrieve keychain items. Before we implement test code into our Firefox build, we decided to create the C files on there own first, then integrate later. Our main goals today are:<br />
:# Create keychain items<br />
:# Retrieve keychain items<br />
:# Output to standard output.<br />
<br />
:Bug Fix: That application we found contained a bug that would prevent it from saving the keychain item description to Apple's keychain. Using our newbie objective-c skills, we located and fixed the problem.<br />
<br />
MOE TODO: Get the code from the application we fixed and paste it here. Remember to use pre tags. :)<br />
<br />
:* We added the method '''createKeychainItem()''', which creates a keychain item based on the passed in parameters. <br />
:* Began writing logic to retrieve the username and password in the keychain item.</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Club_Moz&diff=6007Club Moz2006-11-10T02:01:10Z<p>Pcvitori: /* Events */</p>
<hr />
<div>=Purpose=<br />
<b>To help students get involved in the Mozilla community through its future endeavors in development, testing, support and hacking</b><br />
<br />
This club is open to technical and also non-technical people. If you don't know anything about open source or Mozilla, don't worry, we're here to help you get involved and we promise a good time :)<br />
<br />
<br />
=Committee=<br />
'''President:''' [[User:Themystic|Tom Aratyn]] (mystic)<br />
<br />
'''Vice President:''' [[User:Bhearsum | Ben Hearsum]] (bhearsum)<br />
<br />
'''Financial Officer:''' [[User:Elichak|Liz Chak]] (elichak)<br />
<br />
'''Events Coordinator:''' [[User:Pcvitori|Philip Vitorino]] (philly)<br />
<br />
'''Promotions Coordinator:''' [[User:Vpmirand|Vanessa Miranda]] (vanessa)<br />
<br />
'''Faculty Advisor:''' [[User:David.humphrey|Dave Humphrey]] (dave or humph)<br />
<br />
<br />
=Announcements=<br />
<big><b>Firefox 2 is offically released!!</b></big><br />
- Oct 24 2006<br />
<br />
==Symposium Registration Needs Volunteers on Friday, 27th Oct==<br />
*We require some volunteers for the [http://cs.senecac.on.ca/fsoss/2006 Free Software and Open Source Software Symposium] registration desk (8:00am - 9:00am) on the 27th of Oct. <br />
*Please contact [[User:Elichak|Liz Chak]] or put your name in the volunteers list if you're interested.<br />
*Meet at the Computer Studies Main Office at 7:40am. If you're going to be late, meet us at the registration which will be at the front entrance of SEQ near the Welcome Centre.<br />
*Symposium info:<br />
:'''Free Software and Open Source Software Symposium'''<br />
:October 26-27th, 2006 - 8:30 a.m. to 5:30 p.m.<br />
:York University Campus, Toronto<br />
<br />
===Volunteers===<br />
*[[User:Elichak|Liz Chak]] (elichak) <br />
*[[User:Pcvitori|Philip Vitorino]] (philly) <br />
*[[User:mylau|Michael Lau]] (mylau) <br />
*[[User:melz|Melissa Peh]] (melz)<br />
*[[User:djhamp-g| David Hamp]] (inveigle)<br />
<br />
==Symposium Setup @ the Gym and Symposium Registration Needs Volunteers on Thursday, 26th Oct==<br />
*We require some volunteers to set up the gym for the Symposium on 26th of Oct.<br />
*We also require volunteers for the registration (morning and afternoon). <br />
**For morning registration volunteers, please meet at 7:40am at the Computer Studies Office. If you're going to be late, meet at the south end of TEL in front of the washrooms and glass wall. It's just below the computer studies office area<br />
*Please put your name in the volunteers list if you're interested. <br />
<br />
===Volunteers===<br />
*[[User:Vpmirand|Vanessa Miranda]] (vanessa) - Registration Desk (8:30am-9:15am)<br />
*[[User:moe|Mohammad Tirtashi]] (moe) - Registration Desk (8:30am-9:15am)<br />
*[[User:Elichak|Liz Chak]] (elichak) - Registration Desk (8:30am-9:15am)<br />
<br />
==Help design the new Mozilla QMO==<br />
*[http://groups.google.com/group/mozilla.dev.quality/browse_thread/thread/616bb603daa832dd/70c497fcb44224f3#70c497fcb44224f3 Help design the new Mozilla QMO (quality.mozilla.org)!]<br />
**If your theme is chosen for QMO, you will be their first QMO Hall of Fame member and will receive a special gift from the Mozilla QA team.<br />
<br />
=Meetings=<br />
<br />
[[Club Moz:Meetings/November 9, 2006|November 9, 2006]]<br />
<br />
=Events=<br />
<br />
'''Super Fun Hack Day every Tuesday'''<br />
*Open to everyone who's working on a mozilla related project come by the Vista Lab (aka, the Windows Lab, Networking Lab, etc...) on the second floor of the SEQ building (Beside the ACS office). Food and Drinks will be provided after the event. We expect to be starting at around 3:15 pm going until... :).<br />
<br />
=News=<br />
The Firefox2 party was a success. <br />
Here are some [http://www.flickr.com/photos/moebt/sets/72157594346279843/ pictures].<br />
;Club hangout on irc: irc://irc.mozilla.org/#clubmoz<br />
<br />
=Members=<br />
List of members still in progress<br />
<br />
Add your name here if you would like to be a member of Club Moz :)<br />
<br />
* [[User:dtolj|Dejan Tolj]] (dtolj)<br />
* [[User:Eldavey|Erin Davey]] (davey_girl)<br />
* [[User:jbmossop|Jeff Mossop]] (JBmossop)<br />
* [[User:Mdsouza|Mark D'Souza]] (mdsouza)<br />
* [[User:melz|Melissa Peh]] (melz)<br />
* [[User:mylau|Michael Lau]] (mylau)<br />
* [[User:moe|Mohammad Tirtashi]] (moe)<br />
* [[User:Paul|Paul Yanchun Gu]] (gpaul)<br />
* [[User:PStD|Paul St-Denis]] (pstdenis)<br />
* [[User:John64|John Ford]] (john64)<br />
* Tiago Moreira (Tiago)<br />
* [[User:djhamp-g| david hamp]] (inveigle)<br />
* [[User:jp| justin pacheco]] (jp)<br />
* [[User:robcee|Rob Campbell]], aka robcee, QA Engineer, Mozilla Corp.<br />
* [[User:Gavin|Gavin Sharp]]</div>Pcvitorihttps://wiki.cdot.senecacollege.ca/w/index.php?title=Project_List&diff=5994Project List2006-11-09T19:56:02Z<p>Pcvitori: /* Simple Citation */</p>
<hr />
<div>[[IMAGE: MozillaAtSeneca3.jpg]]<br />
<br />
You can get involved with any of the projects below. Please see [[Assignment 2]] for details. To join a project create a page for it, following the example of [[Sample Project]] below. <br />
<br />
Have a question? Post it on [[Project Discussion Board]]!<br />
<br />
== Active Projects ==<br />
<br />
===[[Generalization of Joga extension]] ===<br />
<br />
We worked with partners to create an [http://www.joga.com/jogacompanion.aspx extension] for delivering World Cup scoring updates as well as providing country-specific themes. We'd like someone to take it apart, remove or refactor the [http://www.joga.com/jogacompanion.aspx Joga]-specific pieces so that it can be used for other such data sources (hello, hockey?), and write some basic documentation for how to create your own notification-and-theme extension from the toolkit that results.<br />
<br />
Related tech and skills: XUL, JavaScript, documentation, web services<br />
<br />
=== [[XULRunner Guide]] ===<br />
<br />
The [http://en.wikipedia.org/wiki/XULRunner XULRunner project] provides an "application runner" for building apps -- like Firefox, Thunderbird, and Sunbird -- atop the [http://developer.mozilla.org/en/docs/Toolkit_API Mozilla toolkit] framework. It needs a guide outlined, high-priority parts written, and examples created to help people get started.<br />
<br />
Related tech and skills: XUL, documentation, cross-platform testing<br />
<br />
Reference: http://cs.senecac.on.ca/fsoss/2006/workshop.html#XULRunner<br />
<br />
=== [[Updating JS guide and JS reference]] ===<br />
<br />
The current [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide JavaScript guide] and [http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference reference ] are valuable, but in serious need of updating in both structure and content (new language features, more relevant compatibility information, improved examples).<br />
<br />
Related tech and skills: documentation, JavaScript<br />
<br />
=== [[Airbag development and server operation]] ===<br />
<br />
The [http://code.google.com/p/airbag/ Airbag project] is developing an open source crash reporting and analysis system, analogous to [http://en.wikipedia.org/wiki/Crash_reporter#Talkback Talkback]. There's lots of work to do on wiring it into the build system, operating servers for collecting and analyzing data, and extending Firefox's use of it to collect additional helpful information (like installed extensions, memory usage, etc.) <br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=216827 Bug 216827], [http://gemal.dk/blog/2006/09/13/talkback_to_be_replaced_by_airbag/?from=rss-category here], and [http://benjamin.smedbergs.us/blog/2006-09-12/deploying-the-airbag/ here]<br />
<br />
=== [[Calendar stuff]] ===<br />
<br />
The [http://www.mozilla.org/projects/calendar/ Calendar project] has lots of stuff for people to do, from [http://www.microsoft.com/exchange/default.mspx Exchange] connectors to off-line caching to bug fixes and minor features galore. A good place to start is the #calendar IRC channel on moznet.<br />
<br />
=== [[OS X Keychain integration]] ===<br />
<br />
It would be great to store Firefox's saved passwords in the [http://en.wikipedia.org/wiki/Apple_Keychain OS X keychain], for consistency and ease of use.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=106400 Bug 106400]<br />
<br />
=== [[CSS guide]] ===<br />
<br />
The [http://developer.mozilla.org Mozilla Developer Center] would like to add a CSS guide to its set of major documents, covering at least the top 100 CSS properties in use on the web today. This data can be obtained through tools . It should include numerous examples, and a fair number of small tutorial/how-to sections for different common tasks or requests from web authors. <br />
<br />
Reference: [http://developer.mozilla.org/en/docs/CSS_Reference CSS Reference]<br />
<br />
=== [[Delta debugging framework]] ===<br />
<br />
[http://en.wikipedia.org/wiki/Delta_Debugging Delta debugging] is an automated approach to debugging that isolates failures systematically. Given a failing test that can be mechanically verified (including a browser crash), [http://en.wikipedia.org/wiki/Delta_Debugging delta debugging] is a way of automatically isolating the change that introduced the failure. Having a framework in place to pull builds from CVS, bisect by date and change set (using [http://en.wikipedia.org/wiki/Bonsai_CVS_code_management_system bonsai ] data -- remember, CVS doesn't have changesets!), and report results would let computers make developers more productive.<br />
<br />
=== [[D-Bus and other Linux desktop integration improvements]] ===<br />
<br />
Various Linux distributors have patches in their Firefox packages that add bits and pieces of Linux integration, and we'd like to see even more available. One particular area of interest is controlling the browser via [http://en.wikipedia.org/wiki/D-BUS d-bus], and exposing [http://en.wikipedia.org/wiki/D-BUS dbus] events to the application and extensions.<br />
<br />
=== [["Avoid loading the same page twice" Extension]] ===<br />
<br />
Create an extension to Firefox so that when a bookmark is clicked, and that site is already open in any tab in any window, that tab/window is brought to the front rather than loading the page again.<br />
<br />
Related tech and skills: XUL, JavaScript<br />
<br />
=== [[APNG]] ===<br />
<br />
[[APNG]] stands for Animated PNG, an extension to the PNG specification to allow for animated PNG images. Similar to how Animated GIF is an extension of GIF. Create such a thing.<br />
<br />
=== [[Mozilla@Seneca Wiki Administration]] ===<br />
This wonderful wiki needs attention too! Already there are configuration issues that need to get fixed, extensions we could be using, etc. As we push further with this, we'll come up with more things too. This work will require knowledge of PHP, server administration, knowledge of [http://www.mediawiki.org/wiki/MediaWiki MediaWiki].<br />
<br />
=== [[Bug Triage Extension]] ===<br />
<br />
Mike Beltzner suggested this one after his talk. The idea is to make it trivial for testers to follow-through a bug's Steps To Reproduce (STR) so as to confirm it. A tester should be able to use this Extension to ask for a bug (i.e., one would be picked for him/her--no querying) and then a sidebar or similar would appear showing the steps to follow. Under that would need to be a way (e.g., buttons) to say that the bug is confirmed or not. Ideally the QA team could prioritize bugs so they appear in this list automatically, making it easier for testers to get the "right" bugs quickly.<br />
<br />
Reference: talk to beltzner.<br />
<br />
=== [[Extending the Buildbot]] ===<br />
<br />
This project is a catch-all for Buildbot development done here. The Buildbot is an automated build system written in python. It is used on the Mozilla Seneca Cluster.<br />
<br />
Related skills: Python<br />
<br />
=== [[Distcc With MSVC]] ===<br />
<br />
Speed up Mozilla's builds by letting them use MSVC with distcc on Windows.<br />
<br />
=== [[Unit Testing]] ===<br />
<br />
Programmatic testing of software. The participant will take a section of code and write unit tests for it, fully testing all aspects of the code. This may require the creation of a unit testing framework and interfacing with other developers who know a particular module or service. The programmer will be adept at finding boundary cases and creating tests that deliberately break the software through code. These may lead to the creation of bugs in [http://bugzilla.mozilla.org bugzilla].<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[DDE Bug Within The Address Bar]] ===<br />
<br />
Currently there is a bug in Firefox such that when running 3 or more instances of the browser, the address bar loses focus when cutting and pasting a string. Regular typing works perfectly when the bug is present. The purpose of this project is to track down and attempt to fix this bug. <br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=220900 Bug 220900].<br />
<br />
=== [[MDC Infrastructure]] ===<br />
<br />
Intergrate new features to MDC, work on existing bugs and fix compatibility issues for the upgrade of Mediawiki to 1.7. (Tentative description)<br />
<br />
=== [[Firefox Performance Testing : A Python framework for Windows]] ===<br />
<br />
Building new tests, improving on existing ones, strengthening the framework itself and porting it to other OS's<br />
<br />
Related to the '''Performance Testing Project'''<br />
<br />
Reference: alice<br />
<br />
'''Note: Not the typical mundane black box testing'''<br />
<br />
=== [[Vista Testing]] ===<br />
<br />
Testing Firefox on the new Microsoft Vista operating system.<br />
<br />
=== [[Mozilla@Seneca Cluster Administration]] ===<br />
<br />
Administration of the Mozilla cluster at Seneca.<br />
<br />
=== [[Source Code Indexing Service Analysis]] ===<br />
Mozilla is evaluating Subversion for revision control, and at the same time wants to look at other source indexing services. This project will setup, document, and test other potential services (e.g., fisheye, opengrok, mxr) on one of the Seneca-Mozilla servers. In each case this requires configuration changes and some scripting to get the services to properly integrate with Mozilla’s other on-line tools. When the test services are installed and synched with the live source tree, Mozilla will point its developers to them and get feedback—-the students will help collect and synthesize this feedback.<br />
<br />
=== [[mozilla_based_accessibility|Mozilla Based Accessibility]] ===<br />
<br />
To work with the accessibility team on screen reader compatibility issues outside of Firefox, fixing bugs using XUL in Songbird or Thunderbird or Sunbird calendar etc.<br />
<br />
=== [[Simple_Citation|Simple Citation]] === <br />
<br />
Create a Firefox extension that will allow citations to be easily generated.<br />
<br />
=== [[Functional Testing]] ===<br />
<br />
Testing performed from a user's perspective. Includes the running and writing of test cases in [http://litmus.mozilla.org Litmus], filing and tracking bugs through [bugzilla.mozilla.org bugzilla], stress-testing and exploratory debugging. This project requires a dedication to breaking software in an organized and repeatable fashion. There is no such thing as "the wrong way" to use software and the functional tester is adept at abusing a system in previously-unknown ways.<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[Firefox Performance Testing : A Python framework for Windows | Performance Testing]] ===<br />
<br />
Extending the performance tookit and tinderbox reporting system. The project begins with a framework for testing pageloads and startup times in Win32. The successful completion of this project will see this framework develop into a more robust system complete with processor-timing information and graphing. Memory analysis and samples during runs would also be beneficial. Further success or subprojects could include porting the system Linux and OS X platforms.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=346785 Bug 346785]. Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
== Potential Projects -- You busy? ==<br />
<br />
=== [[Sample Project]] ===<br />
<br />
This is a sample project stub. You can use the template for [[Sample Project]] in order to create a project page for one of the stubs below. This is how you 'sign-up' for a project.<br />
<br />
NOTE: if someone has already created the project page, speak to this person and see if you can join them. If so, simply add your name to the '''Project Leader(s)''' page. Otherwise, you can become a contributor later.<br />
<br />
<br />
=== SVN access control via LDAP ===<br />
<br />
We have a tool called "[https://despot.mozilla.org/ Despot]" which gives us fine-grained control over access to the [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Via_CVS Mozilla CVS repository]. As we start to have development hosted in [http://weblogs.mozillazine.org/preed/2006/08/subversive_subversion_conversi.html Subversion] (SVN), with account information maintained in [http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol LDAP], we'd like to have a tool to enforce and manage such controls there as well.<br />
<br />
Related tech and skills: server config, LDAP, scripting, web interface/app development<br />
<br />
Reference: See https://despot.mozilla.org/help.html and http://lxr.mozilla.org/mozilla/source/webtools/despot/README. Also, please speak with [[User:Reed|Reed Loden]] (reed) about this project.<br />
<br />
=== [[Bugzilla component-watching]] ===<br />
<br />
It's common for a developer to want to "watch" all the bugs that are filed in a certain [https://bugzilla.mozilla.org Bugzilla] component. Mozilla uses a convoluted and painful system of synthetic accounts to simulate this capability, and we'd all really prefer to be able to do it more directly and with less opportunity for error.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=76794 Bug 76794]<br />
<br />
=== Updating and migrating of MDC content ===<br />
<br />
The [http://developer.mozilla.org Mozilla Developer Center] has rights to a bunch of content that's still hosted on various strange corners of http://www.mozilla.org and the old [http://developer.mozilla.org/en/docs/DevEdge DevEdge] archives. There are some gems in there that need dusting off and updating to reflect the realities of the modern web.<br />
<br />
Related tech and skills: web authoring, documentation, scripting, technology domains of chosen articles.<br />
<br />
=== Test framework development ===<br />
<br />
We have a number of promising prototype or proof-of-concept test frameworks for exercising Mozilla code from different directions. They need varying amounts of work to make them more robust and general, document them, and integrate them into different kinds of automation.<br />
<br />
Related tech and skills: Python, Perl, Makefiles, shell scripting, JavaScript<br />
<br />
=== OpenDarwin tinderbox image ===<br />
<br />
We would love to have a [http://en.wikipedia.org/wiki/Tinderbox_%28software%29 Tinderbox] image (e.g., VM) for testing and building on the Mac, based on the [http://www.opensource.apple.com/darwinsource/ freely-available OS X source]. Also, we'd like to get it wired into [[User:Bhearsum|Ben Hearsum's]] (bhearsum) [http://en.wikipedia.org/wiki/Buildbot buildbot] system.<br />
<br />
Related tech and skills: system configuration, scripting, light C/C++, Makefile<br />
<br />
=== FAQ mining for extension developers ===<br />
<br />
Literally every day, there are informal exchanges on IRC (e.g., #extdev, #developers, #firefox, #seneca, etc.) and newsgroups that are fantastic fodder for small, focused documents. Collect these exchanges and fleshing them out as recipes for extension authors that include sample code.<br />
<br />
<br />
=== Automated Testing ===<br />
<br />
Programmatically driving the browser to perform human-like tasks repeatedly. The programmer will have to create a framework for driving browser components in JavaScript or other scripting language to repeatedly test various pieces of the application. Ideally, the successful completion of this task will see a test or suite of tests that can be invoked by command line to start the browser, run the test suites and then exit and record the results for display or analysis.<br />
<br />
Reference: Work with Mozilla's Rob Campbell and Jay Patel from the QA Team.<br />
<br />
=== [[OpenGL Backend in Firefox 3]] ===<br />
<br />
Creating a Wrapper around OpenGL inside the core of Firefox for future developement of Canvas. The programmer of this project will have to work with the existing rendering code and create bindings to OpenGL calls that will be eventually used through Canvas and JavaScript. The completion of this code will eventually make its way into the firefox v3 trunk. (Subject to revision by Dave/Vlad)<br />
<br />
Reference: Vlad.<br />
<br />
<br />
=== [http://cs1.senecac.on.ca/wiki/index.php/Applescript_support_for_Firefox AppleScript support for Firefox] ===<br />
<br />
Lots of people would like to script Firefox from [http://en.wikipedia.org/wiki/AppleScript AppleScript] (or, more generally, from the [http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA]), and extension authors would like to be able to call out to [http://en.wikipedia.org/wiki/AppleScript AppleScript]/[http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html OSA] from their code as well.<br />
<br />
Reference: [https://bugzilla.mozilla.org/show_bug.cgi?id=125419 Bug 125419]</div>Pcvitori