need some help with Adium source code

An instant messenger which can connect to AIM, GTalk, Jabber, ICQ, and more.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

need some help with Adium source code

Post by JiveMasterT »

Ok, so I have no experience with Cocoa but I have a great deal of experience with other languages and so forth.

Anyhow, I would like to distribute Adium to a bunch of Mac users in my company but I can't yet since we do not allow a few of the protocols that Adium supports. What I need help with, or just a point in the right direction, is where in the source code I can modify what protocols show up in the drop down list where you create a new account.

I already have it open in Xcode 2.2 and I've been toying with and breaking things left and right.

Any help would be appriciated. Thanks.
User avatar
evands
Cocoaforge Admin
Posts: 3152
Joined: Thu Dec 02, 2004 10:55 pm
Location: Decatur, GA
Contact:

Post by evands »

The easiest thing to do will be do simply prevent the services you don't want from loading -- a one line change for each service.

The Gaim Service Plugin provides all the services except Bonjour at present. In the file CBGaimServicePlugin.m, simply comment out the services in the -(void)installPlugin method you don't want to load.

Bonjour can be controlled similarly in AWBonjourPlugin.m.

There are more potentially elegant ways of handling this, but this is by far the simplest. :)
The duck still burns.
--
My company: Saltatory Software. Check it out :)
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

evands wrote:The easiest thing to do will be do simply prevent the services you don't want from loading -- a one line change for each service.

The Gaim Service Plugin provides all the services except Bonjour at present. In the file CBGaimServicePlugin.m, simply comment out the services in the -(void)installPlugin method you don't want to load.

Bonjour can be controlled similarly in AWBonjourPlugin.m.

There are more potentially elegant ways of handling this, but this is by far the simplest. :)
sweet. that worked. It may not be the most elegant but it is the most effective. It even got rid of the MSN options under the advanced options.

The only problem is now, For some reason now, it wont connect to Sametime anymore... It just sits there with the box spinning around the circle in the dock. I just blew away all of my source code and got a new fresh copy from SVN and compiled and it is having the same problem. Any ideas there? It seems like it is still retaining a copy of code somewhere on the drive.

Also, how would I go about compiling my end result to an app that I can distribute. Sorry, my inexperience with Xcode is getting to me here. Thanks for the help.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

update...
just built a fresh copy on a different mac and i cant connect to sametime with the newest cvs.
User avatar
evands
Cocoaforge Admin
Posts: 3152
Joined: Thu Dec 02, 2004 10:55 pm
Location: Decatur, GA
Contact:

Post by evands »

Sametime is likely broken in svn then... Building from svn is supported only in the sense that we welcome helpful bug reports and encourage patches to make improvements and fix bugs.

I'll take a look at Sametime support in current svn sometime in the next 2 to 3 weeks if it isn't fixed by you or another interested party before then.

Current svn (adium 1.0svn) is by no means anywhere close to being appropriate for distribution to end-users, by the way. If you're looking to modify Adium and distribute it, I strongly recommend that you use the current release branch, adium-0.8, which you can check out with

Code: Select all

svn co svn://svn.adiumx.com/adium/branches/adium-0.8 adium-0.8
The duck still burns.
--
My company: Saltatory Software. Check it out :)
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

ah, awesome. I'll try that and report back with any problems.

edit...
I'll try to submit a formal bug ticket later on if I remember.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

OK, so I did what I gotta do to it and I'm ready to give this to a few test users. Only question is now... how do I compile it into a .app that I can distribute? Thanks.
User avatar
evands
Cocoaforge Admin
Posts: 3152
Joined: Thu Dec 02, 2004 10:55 pm
Location: Decatur, GA
Contact:

Post by evands »

JiveMasterT wrote:OK, so I did what I gotta do to it and I'm ready to give this to a few test users. Only question is now... how do I compile it into a .app that I can distribute? Thanks.
Go to the Release folder. Edit the Makefile in there to reflect the version number you want to show (there are other instructions at the top of that file regarding changing the version number shown in Adium proper). Type 'make all' from the terminal.
The duck still burns.
--
My company: Saltatory Software. Check it out :)
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

Awesome. Thanks. I was looking for a makefile because thats what I usually use in unix, but I couldn't find one that worked. Thanks so much.

I've really be learning the ins and outs of this thing... awesome coding. When this is done, I'll get my hands dirty with the new CVS. I'll post here again if I have any more problems. Thanks.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

so I showed it to a few people and those above me feel that the file transfer is a security risk so apparently I gotta get rid of that. Is there a quick and dirty way to get rid of that as well? I managed to remove the file transfer icons from the conversation windows but it is still in the preferences and on the ctrl+click menu on people's names on the buddy list. Any help would be appriciated. thanks.
User avatar
evands
Cocoaforge Admin
Posts: 3152
Joined: Thu Dec 02, 2004 10:55 pm
Location: Decatur, GA
Contact:

Post by evands »

JiveMasterT wrote:so I showed it to a few people and those above me feel that the file transfer is a security risk so apparently I gotta get rid of that. Is there a quick and dirty way to get rid of that as well? I managed to remove the file transfer icons from the conversation windows but it is still in the preferences and on the ctrl+click menu on people's names on the buddy list. Any help would be appriciated. thanks.
Hm. Most central place to knock it out would be in ESFileTransferController... comment out or delete the contents of receiveRequestForFileTransfer: to disable receiving, and then of sendFile:toListContact: to prevent sending. you could get fancy elsewhere and change validateMenuItem: to grey out the menu items for it, etc., but I leave that as an excercise for the reader.
The duck still burns.
--
My company: Saltatory Software. Check it out :)
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

JiveMasterT wrote:so I showed it to a few people and those above me feel that the file transfer is a security risk so apparently I gotta get rid of that. Is there a quick and dirty way to get rid of that as well? I managed to remove the file transfer icons from the conversation windows but it is still in the preferences and on the ctrl+click menu on people's names on the buddy list. Any help would be appriciated. thanks.
How is it a security risk? You're disabling basically everything but sametime right?
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

The_Tick wrote:
JiveMasterT wrote:so I showed it to a few people and those above me feel that the file transfer is a security risk so apparently I gotta get rid of that. Is there a quick and dirty way to get rid of that as well? I managed to remove the file transfer icons from the conversation windows but it is still in the preferences and on the ctrl+click menu on people's names on the buddy list. Any help would be appriciated. thanks.
How is it a security risk? You're disabling basically everything but sametime right?
sametime and bonjour will be left in. I am also going to put in a check for certain people who are permitted to use aim for business purposes (yeah right.) and maybe one or two other clients like icq.

thanks for your help evands. i finally managed to acquire an osx type setup for use at home so I should be able to get the environment setup and running to make some progress on it there. btw, does this compile on x86?
User avatar
evands
Cocoaforge Admin
Posts: 3152
Joined: Thu Dec 02, 2004 10:55 pm
Location: Decatur, GA
Contact:

Post by evands »

JiveMasterT wrote:btw, does this compile on x86?
I have absolutely no idea. Please let me know your results if you try. :)
The duck still burns.
--
My company: Saltatory Software. Check it out :)
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

JiveMasterT wrote:
The_Tick wrote:
JiveMasterT wrote:so I showed it to a few people and those above me feel that the file transfer is a security risk so apparently I gotta get rid of that. Is there a quick and dirty way to get rid of that as well? I managed to remove the file transfer icons from the conversation windows but it is still in the preferences and on the ctrl+click menu on people's names on the buddy list. Any help would be appriciated. thanks.
How is it a security risk? You're disabling basically everything but sametime right?
sametime and bonjour will be left in. I am also going to put in a check for certain people who are permitted to use aim for business purposes (yeah right.) and maybe one or two other clients like icq.

thanks for your help evands. i finally managed to acquire an osx type setup for use at home so I should be able to get the environment setup and running to make some progress on it there. btw, does this compile on x86?
Ya, I'm just curious really. One of the places I wanted to implement jabber at was concerned about file transfer. I then asked why it's a bad thing if it's all internal, and they allowed it.

Then it wouldn't work, but hey, hehe.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

The_Tick wrote:
JiveMasterT wrote:
The_Tick wrote: How is it a security risk? You're disabling basically everything but sametime right?
sametime and bonjour will be left in. I am also going to put in a check for certain people who are permitted to use aim for business purposes (yeah right.) and maybe one or two other clients like icq.

thanks for your help evands. i finally managed to acquire an osx type setup for use at home so I should be able to get the environment setup and running to make some progress on it there. btw, does this compile on x86?
Ya, I'm just curious really. One of the places I wanted to implement jabber at was concerned about file transfer. I then asked why it's a bad thing if it's all internal, and they allowed it.

Then it wouldn't work, but hey, hehe.
Well, I told them it wouldn't work anyway, and we tried to test it and it failed... probably because of our firewall crap. They told me to disable it or remove it entirely so that the help desk doesn't get calls about it.

I am doing some research on how to grey out menu items and so forth and hopefully that will make them happy.
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

Removing the menu item would be useful, but if ft does start working eventually, the window might still pop up.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

The_Tick wrote:Removing the menu item would be useful, but if ft does start working eventually, the window might still pop up.
yeah, I removed the menu item and the popup window. I'm going to remove the options from the preferences menu and hopefully that will achieve the desired result.
User avatar
The_Tick
Cocoaforge Admin
Posts: 4642
Joined: Thu Dec 02, 2004 6:06 am
Contact:

Post by The_Tick »

You might also want to bother them about encryption. Another place I was working on didn't like encryption at all, for im and their employees at least.
JiveMasterT
Harmless
Posts: 17
Joined: Thu Jan 19, 2006 7:19 pm

Post by JiveMasterT »

The_Tick wrote:You might also want to bother them about encryption. Another place I was working on didn't like encryption at all, for im and their employees at least.
yeah, I saw that to, and suprisingly, no one really cared about it. Encryption is a good thing for security and I guess file transfers are not. Part of the reason why Aim is not allowed is because it sends messages in a very insecure manor and you can just read them in the packets flying around with ethereal... I think it is getting to the point where I am happy with it for internal use... only thing that sucks about using GPL'd code for internal use though is that if anyone is smart enough to go pick around at the code and compile a new copy, then they can do whatever with it lol... then again, I don't know that there are too many of those types of people here that I need to worry about.
Post Reply