- Location:
- /trunk
- Files:
-
- 19 edited
-
Languages/English.lproj/MVConnections.nib/classes.nib (modified) (2 diffs)
-
Languages/English.lproj/MVConnections.nib/info.nib (modified) (3 diffs)
-
MVBuddyListController.h (modified) (1 diff)
-
MVBuddyListController.m (modified) (3 diffs)
-
MVChatConnection.h (modified) (3 diffs)
-
MVChatConnection.m (modified) (9 diffs)
-
MVChatWindowController.m (modified) (3 diffs)
-
MVConnectionsController.h (modified) (2 diffs)
-
MVConnectionsController.m (modified) (18 diffs)
-
MVFileTransferController.h (modified) (1 diff)
-
MVFileTransferController.m (modified) (5 diffs)
-
NSAttributedStringAdditions.m (modified) (1 diff)
-
Other Code/firetalk (cvs)/dummy.c (modified) (1 diff)
-
Other Code/firetalk (cvs)/dummy.h (modified) (1 diff)
-
Other Code/firetalk (cvs)/firetalk-int.h (modified) (1 diff)
-
Other Code/firetalk (cvs)/firetalk.c (modified) (1 diff)
-
Other Code/firetalk (cvs)/firetalk.h (modified) (1 diff)
-
Other Code/firetalk (cvs)/irc.c (modified) (15 diffs)
-
Other Code/firetalk (cvs)/irc.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
/trunk/Languages/English.lproj/MVConnections.nib/classes.nib
r20 r30 30 30 editRemoveRoom = NSButton; 31 31 editRooms = NSTableView; 32 editServerPassword = NSTextField; 32 33 joinRoom = NSPanel; 33 34 messageUser = NSPanel; … … 38 39 nicknameAuth = NSPanel; 39 40 openConnection = NSPanel; 40 panel = NSPanel;41 41 roomPassword = NSTextField; 42 42 roomToJoin = NSComboBox; 43 43 userToMessage = NSTextField; 44 44 }; 45 SUPERCLASS = NS Object;45 SUPERCLASS = NSWindowController; 46 46 }, 47 47 {CLASS = MVTableView; LANGUAGE = ObjC; SUPERCLASS = NSTableView; }, -
/trunk/Languages/English.lproj/MVConnections.nib/info.nib
r20 r30 6 6 <string>454 93 381 300 0 0 1280 1002 </string> 7 7 <key>IBFramework Version</key> 8 <string>2 83.0</string>8 <string>291.0</string> 9 9 <key>IBGroupedObjects</key> 10 10 <dict> … … 29 29 <string>543</string> 30 30 </array> 31 <key>6</key> 32 <array> 33 <string>540</string> 34 <string>543</string> 35 </array> 31 36 </dict> 32 37 <key>IBLastGroupID</key> 33 <string> 6</string>38 <string>7</string> 34 39 <key>IBLockedObjects</key> 35 40 <array> … … 37 42 </array> 38 43 <key>IBSystem Version</key> 39 <string>6 F21</string>44 <string>6I32</string> 40 45 </dict> 41 46 </plist> -
/trunk/MVBuddyListController.h
r20 r30 9 9 @interface MVBuddyListController : NSWindowController { 10 10 @private 11 IBOutlet NSWindow *window;12 11 IBOutlet NSTableView *buddies; 13 12 IBOutlet NSTextField *myName; -
/trunk/MVBuddyListController.m
r20 r30 93 93 [self _saveBuddyList]; 94 94 95 [window close]; 96 window = nil; 95 [[self window] close]; 97 96 98 97 [_me autorelease]; … … 149 148 static BOOL loaded = NO; 150 149 if( ! loaded ) loaded = [NSBundle loadNibNamed:@"MVBuddyList" owner:self]; 151 NSLog( @"showBuddyList %d", loaded ); 152 [window makeKeyAndOrderFront:nil]; 150 [[self window] makeKeyAndOrderFront:nil]; 153 151 } 154 152 … … 190 188 [editStatusButton setFrame:NSZeroRect]; 191 189 [myStatus setObjectValue:_statusMessage]; 192 [ windowmakeFirstResponder:myStatus];190 [[self window] makeFirstResponder:myStatus]; 193 191 } 194 192 @end -
/trunk/MVChatConnection.h
r20 r30 3 3 #import <IOKit/IOKitLib.h> 4 4 #import <IOKit/IOTypes.h> 5 6 #define MVURLEncodeString(t) ((NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)(t), NULL, CFSTR(",;:/?@&$="), kCFStringEncodingUTF8)) 7 #define MVURLDecodeString(t) ((NSString *)CFURLCreateStringByReplacingPercentEscapes(NULL, (CFStringRef)(t), NULL)) 5 8 6 9 typedef enum { … … 64 67 @interface MVChatConnection : NSObject { 65 68 @private 66 NSString *_nickname, *_ password, *_server;69 NSString *_nickname, *_npassword, *_password, *_server; 67 70 unsigned short _port; 68 71 MVChatConnectionStatus _status; … … 87 90 - (void) setNickname:(NSString *) nickname; 88 91 - (NSString *) nickname; 92 93 - (void) setNicknamePassword:(NSString *) password; 94 - (NSString *) nicknamePassword; 89 95 90 96 - (void) setPassword:(NSString *) password; -
/trunk/MVChatConnection.m
r20 r30 133 133 break; 134 134 case FE_BADUSERPASS: 135 NSRunCriticalAlertPanel( NSLocalizedString( @"Your Chat password is invalid", chat invalid password dialog title ), NSLocalizedString( @"The password you specified is invalid anda connection could not be made without a proper password. Make sure you have access to the server.", chat invalid password dialog message ), nil, nil, nil );135 NSRunCriticalAlertPanel( NSLocalizedString( @"Your Chat password is invalid", chat invalid password dialog title ), NSLocalizedString( @"The password you specified is invalid or a connection could not be made without a proper password. Make sure you have access to the server.", chat invalid password dialog message ), nil, nil, nil ); 136 136 break; 137 137 case FE_BADUSER: … … 192 192 void MVChatNeedPassword( void *c, void *cs, char *password, const int size ) { 193 193 MVChatConnection *self = cs; 194 const char *pass = [[self password] UTF8String];194 const char *pass = [[self nicknamePassword] UTF8String]; 195 195 if( ! pass ) { 196 196 [[NSNotificationCenter defaultCenter] postNotificationName:MVChatConnectionNeedPasswordNotification object:self userInfo:nil]; … … 405 405 NSCParameterAssert( room != NULL ); 406 406 NSCParameterAssert( who != NULL ); 407 if( previousmember ) firetalk_im_get_info( c, who);407 firetalk_im_get_info( c, who, 0 ); 408 408 [[MVChatWindowController chatWindowForRoom:[NSString stringWithUTF8String:room] withConnection:self ifExists:YES] addMemberToChat:[NSString stringWithUTF8String:who] asPreviousMember:(BOOL) previousmember]; 409 409 [[NSNotificationCenter defaultCenter] postNotificationName:MVChatConnectionUserJoinedRoomNotification object:self userInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSString stringWithUTF8String:room], @"room", [NSString stringWithUTF8String:who], @"who", [NSNumber numberWithBool:previousmember], @"previousMember", nil]]; … … 594 594 if( ! [[url scheme] isEqualToString:@"irc"] ) return nil; 595 595 self = [self initWithServer:[url host] port:[[url port] unsignedShortValue] user:[url user]]; 596 [self set Password:[url password]];596 [self setNicknamePassword:[url password]]; 597 597 return self; 598 598 } … … 645 645 if( [self isConnected] ) [self disconnect]; 646 646 [self _willConnect]; 647 firetalk_set_password( _chatConnection, NULL, [_password UTF8String] ); 647 648 firetalk_signon( _chatConnection, [_server UTF8String], _port, [_nickname UTF8String] ); 648 649 } … … 656 657 657 658 [self _willConnect]; 659 firetalk_set_password( _chatConnection, NULL, [_password UTF8String] ); 658 660 firetalk_signon( _chatConnection, [server UTF8String], port, [nickname UTF8String] ); 659 661 } … … 671 673 NSString *url = nil; 672 674 if( ! _server ) return nil; 673 if( _nickname && _port ) url = [NSString stringWithFormat:@"irc://%@@%@:%hu", _nickname, _server, _port];674 else if( _nickname && ! _port ) url = [NSString stringWithFormat:@"irc://%@@%@", _nickname, _server];675 else url = [NSString stringWithFormat:@"irc://%@", _server];675 if( _nickname && _port ) url = [NSString stringWithFormat:@"irc://%@@%@:%hu", MVURLEncodeString( _nickname ), MVURLEncodeString( _server ), _port]; 676 else if( _nickname && ! _port ) url = [NSString stringWithFormat:@"irc://%@@%@", MVURLEncodeString( _nickname ), MVURLEncodeString( _server )]; 677 else url = [NSString stringWithFormat:@"irc://%@", MVURLEncodeString( _server )]; 676 678 return [[[NSURL URLWithString:url] retain] autorelease]; 677 679 } … … 693 695 #pragma mark - 694 696 697 - (void) setNicknamePassword:(NSString *) password { 698 if( [self isConnected] && [password length] && ! [password isEqualToString:_npassword] ) { 699 firetalk_set_password( _chatConnection, NULL, [password UTF8String] ); 700 } 701 [_npassword autorelease]; 702 if( [password length] ) _npassword = [password copy]; 703 else _npassword = nil; 704 } 705 706 - (NSString *) nicknamePassword { 707 return [[_npassword copy] autorelease]; 708 } 709 710 #pragma mark - 711 695 712 - (void) setPassword:(NSString *) password { 696 if( [self isConnected] && [password length] && ! [password isEqualToString:_password] ) {697 firetalk_set_password( _chatConnection, [_password UTF8String], [password UTF8String] );713 if( ! [self isConnected] && [password length] && ! [password isEqualToString:_password] ) { 714 firetalk_set_password( _chatConnection, NULL, [password UTF8String] ); 698 715 } 699 716 [_password autorelease]; … … 838 855 - (void) fetchInformationForUser:(NSString *) user { 839 856 NSParameterAssert( user != nil ); 840 if( [self isConnected] ) firetalk_im_get_info( _chatConnection, [user UTF8String] );857 if( [self isConnected] ) firetalk_im_get_info( _chatConnection, [user UTF8String], 1 ); 841 858 } 842 859 -
/trunk/MVChatWindowController.m
r20 r30 636 636 #pragma mark - 637 637 638 - (void) changeTopic:(NSData *) topic by:(NSString *) author { 638 - (void) changeTopic:(NSData *) topic by:(NSString *) author { /* ~CRASH! */ 639 639 NSData *tData = nil; 640 640 NSParameterAssert( topic != nil ); … … 815 815 NSParameterAssert( user != nil ); 816 816 817 if( ! _lastDateMessage || [_lastDateMessage timeIntervalSinceNow] < -300 ) {817 if( ! _lastDateMessage || [_lastDateMessage timeIntervalSinceNow] < -300. ) { 818 818 [_lastDateMessage autorelease]; 819 819 _lastDateMessage = [[NSDate date] retain]; … … 826 826 827 827 if( user ) { 828 if( action ) [displayText replaceCharactersInRange:NSMakeRange( [[displayText textStorage] length], 0) withString:@"\xA5"];829 [displayText replaceCharactersInRange:NSMakeRange( [[displayText textStorage] length], 0) withString:user];830 if( ! action ) [displayText replaceCharactersInRange:NSMakeRange( [[displayText textStorage] length], 0) withString:@":"];828 if( action ) [displayText replaceCharactersInRange:NSMakeRange( [[displayText textStorage] length], 0 ) withString:@"\xA5"]; 829 [displayText replaceCharactersInRange:NSMakeRange( [[displayText textStorage] length], 0 ) withString:user]; 830 if( ! action ) [displayText replaceCharactersInRange:NSMakeRange( [[displayText textStorage] length], 0 ) withString:@":"]; 831 831 length = [[displayText textStorage] length] - begin; 832 832 if( ( [[msgString string] rangeOfString:@"'"].location && action ) || ! action ) { -
/trunk/MVConnectionsController.h
r20 r30 10 10 @interface MVConnectionsController : NSWindowController { 11 11 @private 12 IBOutlet NSPanel *panel;13 12 IBOutlet NSTableView *connections; 14 13 IBOutlet NSWindow *editConnection; … … 33 32 IBOutlet NSTextField *editNickname; 34 33 IBOutlet NSTextField *editPassword; 34 IBOutlet NSTextField *editServerPassword; 35 35 IBOutlet NSTextField *editAddress; 36 36 IBOutlet NSTextField *editPort; -
/trunk/MVConnectionsController.m
r20 r30 60 60 [self _saveBookmarkList]; 61 61 62 [panel close]; 63 panel = nil; 62 [[self window] close]; 64 63 65 64 [editConnection autorelease]; … … 97 96 [newNickname setObjectValue:NSUserName()]; 98 97 99 [ panelsetFloatingPanel:NO];98 [(NSPanel *)[self window] setFloatingPanel:NO]; 100 99 101 100 theColumn = [connections tableColumnWithIdentifier:@"auto"]; … … 115 114 [toolbar setAllowsUserCustomization:YES]; 116 115 [toolbar setAutosavesConfiguration:YES]; 117 [ panelsetToolbar:toolbar];116 [[self window] setToolbar:toolbar]; 118 117 } 119 118 … … 121 120 122 121 - (IBAction) showConnectionManager:(id) sender { 123 [ panelorderFront:nil];122 [[self window] orderFront:nil]; 124 123 } 125 124 … … 135 134 136 135 if( ! [[newNickname stringValue] length] ) { 137 [ panelmakeFirstResponder:newNickname];136 [[self window] makeFirstResponder:newNickname]; 138 137 NSRunCriticalAlertPanel( NSLocalizedString( @"Nickname is blank", chat invalid nickname dialog title ), NSLocalizedString( @"The nickname you specified is invalid because it was left blank.", chat nickname blank dialog message ), nil, nil, nil ); 139 138 return; … … 141 140 142 141 if( ! [[newAddress stringValue] length] ) { 143 [ panelmakeFirstResponder:newAddress];142 [[self window] makeFirstResponder:newAddress]; 144 143 NSRunCriticalAlertPanel( NSLocalizedString( @"Chat Server is blank", chat invalid nickname dialog title ), NSLocalizedString( @"The chat server you specified is invalid because it was left blank.", chat server blank dialog message ), nil, nil, nil ); 145 144 return; … … 147 146 148 147 if( [newPort intValue] < 0 || [newPort intValue] > 65535 ) { 149 [ panelmakeFirstResponder:newPort];148 [[self window] makeFirstResponder:newPort]; 150 149 NSRunCriticalAlertPanel( NSLocalizedString( @"Chat Server Port is invalid", chat invalid nickname dialog title ), NSLocalizedString( @"The chat server port you specified is invalid because it can't be negative or greater than 65535.", chat server port invalid dialog message ), nil, nil, nil ); 151 150 return; … … 166 165 } 167 166 [connections selectRow:[_bookmarks indexOfObject:data] byExtendingSelection:NO]; 168 [ panelmakeFirstResponder:newNickname];167 [[self window] makeFirstResponder:newNickname]; 169 168 return; 170 169 } … … 179 178 [self addConnection:connection keepBookmark:(BOOL)[newRemember state]]; 180 179 181 [ panelmakeKeyAndOrderFront:nil];180 [[self window] makeKeyAndOrderFront:nil]; 182 181 183 182 if( _target && _targetRoom ) [connection joinChatForRoom:_target]; … … 237 236 [connection setServerPort:[editPort intValue]]; 238 237 [connection setNickname:[editNickname stringValue]]; 239 [connection set Password:[editPassword stringValue]];238 [connection setNicknamePassword:[editPassword stringValue]]; 240 239 241 240 if( ! [[info objectForKey:@"temporary"] boolValue] ) { 241 [[MVKeyChain defaultKeyChain] setInternetPassword:[editServerPassword stringValue] forServer:[editAddress stringValue] securityDomain:[editAddress stringValue] account:nil path:nil port:[connection serverPort] protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]; 242 242 [[MVKeyChain defaultKeyChain] setInternetPassword:[editPassword stringValue] forServer:[editAddress stringValue] securityDomain:[editAddress stringValue] account:[editNickname stringValue] path:nil port:0 protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]; 243 243 } … … 271 271 272 272 if( [sender tag] ) { 273 [_passConnection set Password:[authPassword stringValue]];273 [_passConnection setNicknamePassword:[authPassword stringValue]]; 274 274 275 275 if( [authKeychain state] == NSOnState ) { … … 327 327 else if( target && ! isRoom ) [MVChatWindowController chatWindowWithUser:target withConnection:connection ifExists:NO]; 328 328 [connections selectRow:[_bookmarks indexOfObject:data] byExtendingSelection:NO]; 329 [ panelmakeKeyAndOrderFront:nil];329 [[self window] makeKeyAndOrderFront:nil]; 330 330 handled = YES; 331 331 break; … … 346 346 [self addConnection:connection keepBookmark:NO]; 347 347 348 [ panelmakeKeyAndOrderFront:nil];348 [[self window] makeKeyAndOrderFront:nil]; 349 349 350 350 if( target && isRoom ) [connection joinChatForRoom:target]; … … 686 686 connection = [[[MVChatConnection alloc] initWithURL:[NSURL URLWithString:[info objectForKey:@"url"]]] autorelease]; 687 687 688 [connection setPassword:[[MVKeyChain defaultKeyChain] internetPasswordForServer:[connection server] securityDomain:[connection server] account:[connection nickname] path:nil port:0 protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]]; 688 [connection setPassword:[[MVKeyChain defaultKeyChain] internetPasswordForServer:[connection server] securityDomain:[connection server] account:nil path:nil port:[connection serverPort] protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]]; 689 [connection setNicknamePassword:[[MVKeyChain defaultKeyChain] internetPasswordForServer:[connection server] securityDomain:[connection server] account:[connection nickname] path:nil port:0 protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]]; 689 690 690 691 if( [[info objectForKey:@"automatic"] boolValue] ) { … … 709 710 [connections noteNumberOfRowsChanged]; 710 711 711 if( autoConnect ) [ panelmakeKeyAndOrderFront:nil];712 if( autoConnect ) [[self window] makeKeyAndOrderFront:nil]; 712 713 else [openConnection makeKeyAndOrderFront:nil]; 713 714 } 714 715 715 716 - (void) _validateToolbar { 716 NSEnumerator *enumerator = [[[ paneltoolbar] visibleItems] objectEnumerator];717 NSEnumerator *enumerator = [[[[self window] toolbar] visibleItems] objectEnumerator]; 717 718 id item = nil; 718 719 BOOL noneSelected = YES, connected = NO; … … 819 820 - (void) _messageUser:(id) sender { 820 821 if( [connections selectedRow] == -1 ) return; 821 [[NSApplication sharedApplication] beginSheet:messageUser modalForWindow: panelmodalDelegate:nil didEndSelector:NULL contextInfo:NULL];822 [[NSApplication sharedApplication] beginSheet:messageUser modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL]; 822 823 } 823 824 … … 826 827 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector( _refreshRooms: ) name:MVChatConnectionGotRoomInfoNotification object:[[_bookmarks objectAtIndex:[connections selectedRow]] objectForKey:@"connection"]]; 827 828 [(MVChatConnection *)[[_bookmarks objectAtIndex:[connections selectedRow]] objectForKey:@"connection"] fetchRoomList]; 828 [[NSApplication sharedApplication] beginSheet:joinRoom modalForWindow: panelmodalDelegate:nil didEndSelector:NULL contextInfo:NULL];829 [[NSApplication sharedApplication] beginSheet:joinRoom modalForWindow:[self window] modalDelegate:nil didEndSelector:NULL contextInfo:NULL]; 829 830 } 830 831 … … 845 846 [editNickname setObjectValue:[connection nickname]]; 846 847 [editPassword setObjectValue:[[MVKeyChain defaultKeyChain] internetPasswordForServer:[connection server] securityDomain:[connection server] account:[connection nickname] path:nil port:0 protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]]; 848 [editServerPassword setObjectValue:[[MVKeyChain defaultKeyChain] internetPasswordForServer:[connection server] securityDomain:[connection server] account:nil path:nil port:[connection serverPort] protocol:MVKeyChainProtocolIRC authenticationType:MVKeyChainAuthenticationTypeDefault]]; 847 849 848 850 [_editingRooms autorelease]; -
/trunk/MVFileTransferController.h
r20 r30 28 28 @interface MVFileTransferController : NSWindowController { 29 29 @private 30 IBOutlet NSPanel *panel;31 30 IBOutlet NSProgressIndicator *progressBar; 32 31 IBOutlet NSTextField *transferStatus; -
/trunk/MVFileTransferController.m
r20 r30 90 90 extern MVFileTransferController *sharedInstance; 91 91 92 [panel close]; 93 panel = nil; 92 [[self window] close]; 94 93 95 94 [_transferStorage autorelease]; … … 110 109 id prototypeCell = nil; 111 110 112 [ panelsetFloatingPanel:NO];111 [(NSPanel *)[self window] setFloatingPanel:NO]; 113 112 114 113 [currentFiles setVerticalMotionCanBeginDrag:NO]; … … 131 130 [toolbar setAllowsUserCustomization:YES]; 132 131 [toolbar setAutosavesConfiguration:YES]; 133 [ panelsetToolbar:toolbar];132 [[self window] setToolbar:toolbar]; 134 133 135 134 [progressBar setMinValue:0.]; … … 143 142 static BOOL loaded = NO; 144 143 if( ! loaded ) loaded = [NSBundle loadNibNamed:@"MVFileTransfer" owner:self]; 145 [ panelorderFront:nil];144 [[self window] orderFront:nil]; 146 145 } 147 146 … … 340 339 BOOL noneSelected = YES; 341 340 342 enumerator = [[[ paneltoolbar] visibleItems] objectEnumerator];341 enumerator = [[[[self window] toolbar] visibleItems] objectEnumerator]; 343 342 if( [currentFiles selectedRow] != -1 ) noneSelected = NO; 344 343 while( ( item = [enumerator nextObject] ) ) { -
/trunk/NSAttributedStringAdditions.m
r20 r30 128 128 @implementation NSMutableAttributedString (NSMutableAttributedStringImageAdditions) 129 129 - (void) preformImageSubstitutionWithDictionary:(NSDictionary *) dict { 130 NSDictionary *attributes = nil;130 // NSDictionary *attributes = nil; 131 131 NSString *string = [self string], *str = nil; 132 132 NSEnumerator *keyEnumerator = [dict keyEnumerator]; -
/trunk/Other Code/firetalk (cvs)/dummy.c
r20 r30 149 149 } 150 150 151 enum firetalk_error dummy_get_info(client_t c, const char * const nickname ) {151 enum firetalk_error dummy_get_info(client_t c, const char * const nickname, const int priority) { 152 152 return FE_SUCCESS; 153 153 } -
/trunk/Other Code/firetalk (cvs)/dummy.h
r20 r30 41 41 enum firetalk_error dummy_get_roomlist(client_t c, const char * const search); 42 42 enum firetalk_error dummy_stop_roomlist(client_t c); 43 enum firetalk_error dummy_get_info(client_t c, const char * const nickname );43 enum firetalk_error dummy_get_info(client_t c, const char * const nickname, const int priority); 44 44 enum firetalk_error dummy_set_info(client_t c, const char * const info); 45 45 enum firetalk_error dummy_set_nickname(client_t c, const char * const nickname); -
/trunk/Other Code/firetalk (cvs)/firetalk-int.h
r20 r30 174 174 enum firetalk_error (*get_roomlist)(client_t, const char * const); 175 175 enum firetalk_error (*stop_roomlist)(client_t); 176 enum firetalk_error (*get_info)(client_t, const char * const );176 enum firetalk_error (*get_info)(client_t, const char * const, const int); 177 177 enum firetalk_error (*set_info)(client_t, const char * const); 178 178 enum firetalk_error (*set_away)(client_t, const char * const); -
/trunk/Other Code/firetalk (cvs)/firetalk.c
r20 r30 2416 2416 } 2417 2417 2418 enum firetalk_error firetalk_im_get_info(firetalk_t conn, const char * const nickname ) {2419 #ifdef DEBUG 2420 if (firetalk_check_handle(conn) != FE_SUCCESS) 2421 return FE_BADHANDLE; 2422 #endif 2423 2424 return protocol_functions[conn->protocol].get_info(conn->handle,nickname );2418 enum firetalk_error firetalk_im_get_info(firetalk_t conn, const char * const nickname, const int priority) { 2419 #ifdef DEBUG 2420 if (firetalk_check_handle(conn) != FE_SUCCESS) 2421 return FE_BADHANDLE; 2422 #endif 2423 2424 return protocol_functions[conn->protocol].get_info(conn->handle,nickname,priority); 2425 2425 } 2426 2426 -
/trunk/Other Code/firetalk (cvs)/firetalk.h
r20 r30 212 212 enum firetalk_error firetalk_im_list_buddies(firetalk_t conn); 213 213 enum firetalk_error firetalk_im_evil(firetalk_t c, const char * const who); 214 enum firetalk_error firetalk_im_get_info(firetalk_t conn, const char * const nickname );214 enum firetalk_error firetalk_im_get_info(firetalk_t conn, const char * const nickname, const int priority); 215 215 enum firetalk_error firetalk_im_get_roomlist(firetalk_t conn, const char * const search); 216 216 enum firetalk_error firetalk_im_stop_roomlist(firetalk_t conn); -
/trunk/Other Code/firetalk (cvs)/irc.c
r20 r30 630 630 i--; 631 631 } 632 j = irc_send_printf(c, 1,"%s",outstring);632 j = irc_send_printf(c,0,"%s",outstring); 633 633 if (j != FE_SUCCESS) /* TODO: Fix this */ 634 634 return j; … … 659 659 if( c->password ) free( c->password ); 660 660 c->password = safe_strdup( newpass ); 661 return irc_send_printf(c,1,"PRIVMSG NickServ :IDENTIFY %s",c->password); 661 if( c->nickname ) { 662 return irc_send_printf(c,1,"PRIVMSG NickServ :IDENTIFY %s",c->password); 663 } else return FE_SUCCESS; 662 664 } 663 665 return FE_BADUSERPASS; … … 693 695 694 696 enum firetalk_error irc_signon(client_t c, const char * const nickname) { 697 char hostname[256]; 698 699 if ( safe_strlen( c->password ) ) if (irc_send_printf(c,1,"PASS %s",c->password) != FE_SUCCESS) 700 return FE_PACKET; 701 695 702 if (irc_send_printf(c,1,"NICK %s",nickname) != FE_SUCCESS) 696 703 return FE_PACKET; 697 704 698 if (irc_send_printf(c,1,"USER %s %s %s :%s",nickname,nickname,nickname,nickname) != FE_SUCCESS) 705 if( gethostname( hostname, 256 ) ) 706 safe_strncpy( hostname, "localhost", 10 ); 707 708 if (irc_send_printf(c,1,"USER %s %s %s :%s",nickname,hostname,hostname,nickname) != FE_SUCCESS) 699 709 return FE_PACKET; 700 710 … … 753 763 if (irc_compare_nicks(c->nickname,irc_get_nickname(args[0])) == 0) { 754 764 firetalk_callback_chat_joined(c,args[2]); 755 if (c->identified == 1) {765 /* if (c->identified == 1) { 756 766 if (irc_send_printf(c,0,"PRIVMSG ChanServ :OP %s %s",args[2],c->nickname) != FE_SUCCESS) { 757 767 irc_internal_disconnect(c,FE_PACKET); 758 768 return FE_PACKET; 759 769 } 760 } 761 } else 770 }*/ 771 } else { 762 772 firetalk_callback_chat_user_joined(c,args[2],irc_get_nickname(args[0]),0); 773 } 763 774 } else if (strcmp(args[1],"PART") == 0) { 764 775 if (irc_compare_nicks(c->nickname,irc_get_nickname(args[0])) == 0) … … 853 864 /* we're recognized */ 854 865 c->identified = 1; 855 if (irc_send_printf(c,0,"PRIVMSG ChanServ :OP ALL") != FE_SUCCESS) {866 /* if (irc_send_printf(c,0,"PRIVMSG ChanServ :OP ALL") != FE_SUCCESS) { 856 867 irc_internal_disconnect(c,FE_PACKET); 857 868 return FE_PACKET; 858 } 869 }*/ 859 870 } 860 871 } … … 1039 1050 if (irc_compare_nicks(args[tempint2-1],c->nickname) == FE_SUCCESS) { 1040 1051 firetalk_callback_chat_deopped(c,args[2],irc_get_nickname(args[0])); 1041 if (c->identified == 1) {1042 / * this is us, and we're identified, so we can request a reop */1052 /* if (c->identified == 1) { 1053 // this is us, and we're identified, so we can request a reop 1043 1054 if (irc_send_printf(c,0,"PRIVMSG ChanServ :OP %s %s",args[2],c->nickname) != FE_SUCCESS) { 1044 1055 irc_internal_disconnect(c,FE_PACKET); 1045 1056 return FE_PACKET; 1046 1057 } 1047 } 1058 }*/ 1048 1059 } 1049 1060 } … … 1058 1069 if (irc_compare_nicks(args[tempint2-1],c->nickname) == FE_SUCCESS) { 1059 1070 firetalk_callback_chat_devoiced(c,args[2],irc_get_nickname(args[0])); 1060 if (c->identified == 1) {1061 / * this is us, and we're identified, so we can request a revoice */1071 /* if (c->identified == 1) { 1072 // this is us, and we're identified, so we can request a revoice 1062 1073 if (irc_send_printf(c,0,"PRIVMSG ChanServ :VOICE %s %s",args[2],c->nickname) != FE_SUCCESS) { 1063 1074 irc_internal_disconnect(c,FE_PACKET); 1064 1075 return FE_PACKET; 1065 1076 } 1066 } 1077 }*/ 1067 1078 } 1068 1079 } … … 1162 1173 1163 1174 enum firetalk_error irc_got_data_connecting(client_t c, unsigned char * buffer, unsigned short * bufferpos) { 1164 char **args ;1175 char **args = NULL; 1165 1176 1166 1177 args = irc_recv_parse(c,buffer,bufferpos); … … 1193 1204 } else { 1194 1205 switch (atoi(args[1])) { 1195 case 376: 1196 case 422: 1206 case 376: // RPL_ENDOFMOTD 1207 case 422: // ERR_NOMOTD 1208 // reset the password to clear the server password 1209 if (c->password) { 1210 free(c->password); 1211 c->password = NULL; 1212 } 1197 1213 firetalk_callback_doinit(c,c->nickname); 1198 1214 firetalk_callback_connected(c); 1199 1215 break; 1200 case 431: 1201 case 432: 1202 case 436: 1203 case 461: 1216 case 431: // ERR_NONICKNAMEGIVEN 1217 case 432: // ERR_ERRONEUSNICKNAME 1218 case 436: // ERR_NICKCOLLISION 1219 case 461: // ERR_NEEDMOREPARAMS 1204 1220 irc_send_printf(c,1,"QUIT :Invalid nickname"); 1205 1221 firetalk_callback_connectfailed(c,FE_BADUSER,"Invalid nickname"); 1206 1222 return FE_BADUSER; 1207 case 433: 1208 irc_send_printf(c,1,"QUIT : Invalid nickname");1223 case 433: // ERR_NICKNAMEINUSE 1224 irc_send_printf(c,1,"QUIT :Nickname in use"); 1209 1225 firetalk_callback_connectfailed(c,FE_BADUSER,"Nickname in use"); 1210 1226 return FE_BADUSER; 1211 case 465: 1212 irc_send_printf(c,1,"QUIT :banned"); 1227 case 464: // ERR_PASSWDMISMATCH 1228 irc_send_printf(c,1,"QUIT :Invalid connection password"); 1229 firetalk_callback_connectfailed(c,FE_BADUSER,"Invalid server password"); 1230 return FE_BADUSERPASS; 1231 case 465: // ERR_YOUREBANNEDCREEP 1232 irc_send_printf(c,1,"QUIT :Banned"); 1213 1233 firetalk_callback_connectfailed(c,FE_BLOCKED,"You are banned"); 1214 1234 return FE_BLOCKED; … … 1368 1388 } 1369 1389 1370 enum firetalk_error irc_get_info(client_t c, const char * const nickname ) {1390 enum firetalk_error irc_get_info(client_t c, const char * const nickname, const int priority) { 1371 1391 struct s_irc_whois *whoistemp; 1372 1392 … … 1378 1398 c->whois_head->info = NULL; 1379 1399 c->whois_head->next = whoistemp; 1380 return irc_send_printf(c, 0,"WHOIS %s",nickname);1400 return irc_send_printf(c,priority,"WHOIS %s",nickname); 1381 1401 } 1382 1402 … … 1410 1430 if (i > 0) 1411 1431 obuf[i-1] = '\0'; 1412 if (irc_send_printf(conn, 1,"ISON %s",obuf) != 0) {1432 if (irc_send_printf(conn,0,"ISON %s",obuf) != 0) { 1413 1433 irc_internal_disconnect(conn,FE_PACKET); 1414 1434 return FE_PACKET; … … 1426 1446 if (i > 0) { 1427 1447 obuf[i-1] = '\0'; 1428 if (irc_send_printf(conn, 1,"ISON %s",obuf) != 0) {1448 if (irc_send_printf(conn,0,"ISON %s",obuf) != 0) { 1429 1449 irc_internal_disconnect(conn,FE_PACKET); 1430 1450 return FE_PACKET; … … 1439 1459 enum firetalk_error irc_subcode_send_request(client_t c, const char * const to, const char * const command, const char * const args) { 1440 1460 if (args == NULL) { 1441 if (irc_send_printf(c, 0,"PRIVMSG %s :\001%s\001",to,command) != 0) {1461 if (irc_send_printf(c,1,"PRIVMSG %s :\001%s\001",to,command) != 0) { 1442 1462 irc_internal_disconnect(c,FE_PACKET); 1443 1463 return FE_PACKET; 1444 1464 } 1445 1465 } else { 1446 if (irc_send_printf(c, 0,"PRIVMSG %s :\001%s %s\001",to,command,args) != 0) {1466 if (irc_send_printf(c,1,"PRIVMSG %s :\001%s %s\001",to,command,args) != 0) { 1447 1467 irc_internal_disconnect(c,FE_PACKET); 1448 1468 return FE_PACKET; … … 1454 1474 enum firetalk_error irc_subcode_send_reply(client_t c, const char * const to, const char * const command, const char * const args) { 1455 1475 if (args == NULL) { 1456 if (irc_send_printf(c, 0,"NOTICE %s :\001%s\001",to,command) != 0) {1476 if (irc_send_printf(c,1,"NOTICE %s :\001%s\001",to,command) != 0) { 1457 1477 irc_internal_disconnect(c,FE_PACKET); 1458 1478 return FE_PACKET; 1459 1479 } 1460 1480 } else { 1461 if (irc_send_printf(c, 0,"NOTICE %s :\001%s %s\001",to,command,args) != 0) {1481 if (irc_send_printf(c,1,"NOTICE %s :\001%s %s\001",to,command,args) != 0) { 1462 1482 irc_internal_disconnect(c,FE_PACKET); 1463 1483 return FE_PACKET; -
/trunk/Other Code/firetalk (cvs)/irc.h
r20 r30 38 38 enum firetalk_error irc_get_roomlist(client_t c, const char * const search); 39 39 enum firetalk_error irc_stop_roomlist(client_t c); 40 enum firetalk_error irc_get_info(client_t c, const char * const nickname );40 enum firetalk_error irc_get_info(client_t c, const char * const nickname, const int priority); 41 41 enum firetalk_error irc_set_info(client_t c, const char * const info); 42 42 enum firetalk_error irc_set_nickname(client_t c, const char * const nickname);
Note: See TracChangeset
for help on using the changeset viewer.
