Changeset 3509

Show
Ignore:
Timestamp:
01/18/06 18:52:54 (3 years ago)
Author:
morris
Message:

Use WISocket, kill WCSocket

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredClient/trunk/English.lproj/ServerInfo.nib/classes.nib

    r3406 r3509  
    2525                "_sizeTextField" = NSTextField;  
    2626                "_sizeTitleTextField" = NSTextField;  
     27                "_sslProtocolTextField" = NSTextField;  
     28                "_sslProtocolTitleTextField" = NSTextField;  
    2729                "_uptimeTextField" = NSTextField;  
    2830                "_uptimeTitleTextField" = NSTextField;  
  • WiredClient/trunk/English.lproj/ServerInfo.nib/info.nib

    r3406 r3509  
    1212        </array> 
    1313        <key>IBSystem Version</key> 
    14         <string>8F46</string> 
     14        <string>8G32</string> 
    1515</dict> 
    1616</plist> 
  • WiredClient/trunk/WCConnection.h

    r3503 r3509  
    4747 
    4848- (WIURL *)URL; 
    49 - (WCSSLSocket *)socket; 
     49- (WISocket *)socket; 
    5050- (BOOL)isConnected; 
    5151- (double)protocol; 
  • WiredClient/trunk/WCConnection.m

    r3413 r3509  
    492492 
    493493        if(_type == WCConnectionTypeServer) 
    494                 [NSThread detachNewThreadSelector:@selector(serverThread:) toTarget:self withObject:NULL]; 
     494                [WIThread detachNewThreadSelector:@selector(serverThread:) toTarget:self withObject:NULL]; 
    495495        else if(_type == WCConnectionTypeTracker) 
    496                 [NSThread detachNewThreadSelector:@selector(trackerThread:) toTarget:self withObject:NULL]; 
     496                [WIThread detachNewThreadSelector:@selector(trackerThread:) toTarget:self withObject:NULL]; 
    497497                 
    498498} 
  • WiredClient/trunk/WCError.m

    r3503 r3509  
    6969- (void)connectionHasAttached:(NSNotification *)notification { 
    7070        [_lock lock]; 
    71         [_connections setObject:[notification object] forKey:[[NSThread currentThread] threadIdentifier]]; 
     71        [_connections setObject:[notification object] forKey:[[WIThread currentThread] threadIdentifier]]; 
    7272        [_lock unlock]; 
    7373} 
     
    7777- (void)connectionShouldTerminate:(NSNotification *)notificiation { 
    7878        [_lock lock]; 
    79         [_connections removeObjectForKey:[[NSThread currentThread] threadIdentifier]]; 
     79        [_connections removeObjectForKey:[[WIThread currentThread] threadIdentifier]]; 
    8080        [_lock unlock]; 
    8181} 
     
    8787- (void)setError:(WCErrorType)error { 
    8888        [_lock lock]; 
    89         [_errors setObject:[NSNumber numberWithInt:error] forKey:[[NSThread currentThread] threadIdentifier]]; 
     89        [_errors setObject:[NSNumber numberWithInt:error] forKey:[[WIThread currentThread] threadIdentifier]]; 
    9090        [_lock unlock]; 
    9191} 
     
    9797 
    9898        [_lock lock]; 
    99         error = [[_errors objectForKey:[[NSThread currentThread] threadIdentifier]] intValue]; 
     99        error = [[_errors objectForKey:[[WIThread currentThread] threadIdentifier]] intValue]; 
    100100        [_lock unlock]; 
    101101 
     
    107107- (void)setArgument:(NSString *)argument { 
    108108        [_lock lock]; 
    109         [_arguments setObject:argument forKey:[[NSThread currentThread] threadIdentifier]]; 
     109        [_arguments setObject:argument forKey:[[WIThread currentThread] threadIdentifier]]; 
    110110        [_lock unlock]; 
    111111} 
     
    117117 
    118118        [_lock lock]; 
    119         argument = [_arguments objectForKey:[[NSThread currentThread] threadIdentifier]]; 
     119        argument = [_arguments objectForKey:[[WIThread currentThread] threadIdentifier]]; 
    120120        [_lock unlock]; 
    121121 
     
    127127- (void)setMessage:(NSString *)message { 
    128128        [_lock lock]; 
    129         [_messages setObject:message forKey:[[NSThread currentThread] threadIdentifier]]; 
     129        [_messages setObject:message forKey:[[WIThread currentThread] threadIdentifier]]; 
    130130        [_lock unlock]; 
    131131} 
     
    137137 
    138138        [_lock lock]; 
    139         message = [_messages objectForKey:[[NSThread currentThread] threadIdentifier]]; 
     139        message = [_messages objectForKey:[[WIThread currentThread] threadIdentifier]]; 
    140140        [_lock unlock]; 
    141141 
     
    578578        if([self error] != WCApplicationErrorServerDisconnected) { 
    579579                [_lock lock]; 
    580                 connection = [_connections objectForKey:[[NSThread currentThread] threadIdentifier]]; 
     580                connection = [_connections objectForKey:[[WIThread currentThread] threadIdentifier]]; 
    581581                [_lock unlock]; 
    582582                 
  • WiredClient/trunk/WCLink.h

    r3413 r3509  
    2929@protocol WCConnection; 
    3030 
    31 @class WCSSLSocket; 
    32  
    3331@interface WCLink : WIObject { 
    34         WCSSLSocket                           *_socket; 
     32        WISocket                              *_socket; 
    3533        WIURL                                   *_url; 
    3634         
     
    4341        BOOL                                    _delegateLinkReceivedMessage; 
    4442         
    45         BOOL                                    _connected
     43        BOOL                                    _connected, _closing
    4644} 
    4745 
     
    5351 
    5452- (WIURL *)URL; 
    55 - (WCSSLSocket *)socket; 
     53- (WISocket *)socket; 
    5654- (BOOL)isConnected; 
    5755 
  • WiredClient/trunk/WCLink.m

    r3503 r3509  
    2929#import "WCConnection.h" 
    3030#import "WCLink.h" 
    31 #import "WCSocket.h" 
    3231 
    3332@interface WCLink(Private) 
    3433 
    35 - (void)_parseMessage:(NSData *)data
     34- (void)_parseMessage:(NSString *)string
    3635 
    3736@end 
     
    4039@implementation WCLink(Private) 
    4140 
    42 - (void)_parseMessage:(NSData *)data
     41- (void)_parseMessage:(NSString *)string
    4342        NSArray                 *arguments; 
    44         NSString                *string, *argument; 
    4543        unsigned int    message; 
    4644 
    47         if(_delegateLinkReceivedMessage) { 
    48                 string = [NSString stringWithData:data encoding:NSUTF8StringEncoding]; 
    49                  
    50                 if(!string) 
    51                         return; 
    52                  
    53                 message = [[string substringToIndex:WCMessageLength] unsignedIntValue]; 
    54                 argument = [string substringFromIndex:WCMessageLength + 1]; 
    55                 arguments = [argument componentsSeparatedByString:WCFieldSeparator]; 
    56                  
    57                 [_delegate link:self receivedMessage:message arguments:arguments]; 
    58         } 
     45        message = [[string substringToIndex:WCMessageLength] unsignedIntValue]; 
     46        arguments = [[string substringFromIndex:WCMessageLength + 1] componentsSeparatedByString:WCFieldSeparator]; 
     47                 
     48        [_delegate link:self receivedMessage:message arguments:arguments]; 
    5949} 
    6050 
     
    113103 
    114104 
    115 - (WCSSLSocket *)socket { 
     105- (WISocket *)socket { 
    116106        return _socket; 
    117107} 
     
    128118 
    129119- (void)connect { 
    130         [NSThread detachNewThreadSelector:@selector(linkThread:) toTarget:self withObject:NULL]; 
     120        [WIThread detachNewThreadSelector:@selector(linkThread:) toTarget:self withObject:NULL]; 
    131121} 
    132122 
     
    134124 
    135125- (void)disconnect { 
     126        _closing = YES; 
     127         
    136128        [_socket close]; 
    137129} 
     
    171163 
    172164        [_socket writeString:[string stringByAppendingString:WCMessageSeparator] 
    173                                 encoding:NSUTF8StringEncoding]; 
     165                                encoding:NSUTF8StringEncoding 
     166                                 timeout:0.0]; 
    174167         
    175168        if(_delegateLinkSentCommand) 
     
    182175 
    183176- (void)linkThread:(id)arg { 
    184         NSAutoreleasePool       *pool, *loopPool; 
    185         NSData                          *data; 
     177        NSAutoreleasePool       *pool, *loopPool = NULL; 
     178        NSString                        *string; 
     179        NSArray                         *arguments; 
     180        WISocketContext         *context; 
     181        WIAddress                       *address; 
     182        unsigned int            message, i = 0; 
    186183        BOOL                            reading = YES; 
    187184 
     
    189186        [_delegate retain]; 
    190187         
    191         // --- create socket 
    192         _socket = [[WCSSLSocket alloc] initWithHost:[_url host] port:[_url port] type:WCSocketTypeTCP]; 
     188        context = [WISocketContext socketContextForClient]; 
     189        [context setSSLCiphers:[WCSettings objectForKey:WCSSLControlCiphers]]; 
     190         
     191        address = [WIAddress addressWithString:[_url host]]; 
     192        [address setPort:[_url port]]; 
     193 
     194        _socket = [[WISocket alloc] initWithAddress:address type:WISocketTCP]; 
    193195 
    194196        if(!_socket) { 
     
    199201        } 
    200202 
    201         [_socket setCipher:[WCSettings objectForKey:WCSSLControlCiphers]]; 
    202         [_socket setUsesLocks:YES]; 
    203         [[_socket descriptor] setUsesNagle:NO]; 
    204  
    205         // --- connect to the host 
    206         if(![_socket connectWithTimeout:30.0]) { 
     203        [_socket setInteractive:YES]; 
     204 
     205        if(![_socket connectWithContext:context timeout:10.0]) { 
    207206                [_socket close]; 
    208207                 
     
    218217                [_delegate linkConnected:self]; 
    219218 
    220         // --- start reading from server 
    221219        while(reading) { 
    222                 loopPool = [[NSAutoreleasePool alloc] init]; 
    223                 data = [_socket readDataUpToCharacter:WCMessageSeparatorChar]; 
    224                  
    225                 if(!data || [data length] == 0) { 
     220                if(!loopPool) 
     221                        loopPool = [[NSAutoreleasePool alloc] init]; 
     222                 
     223                string = [_socket readStringUpToString:WCMessageSeparator encoding:NSUTF8StringEncoding timeout:0.0]; 
     224                 
     225                if(!string || [string length] == 0) { 
    226226                        reading = NO; 
    227227                         
     
    229229                } 
    230230                 
    231                 [self _parseMessage:data]; 
    232                  
    233                 [loopPool release]; 
     231                message = [[string substringToIndex:WCMessageLength] unsignedIntValue]; 
     232                arguments = [[string substringFromIndex:WCMessageLength + 1] componentsSeparatedByString:WCFieldSeparator]; 
     233                 
     234                if(_delegateLinkReceivedMessage) 
     235                        [_delegate link:self receivedMessage:message arguments:arguments]; 
     236                 
     237                if(++i % 10 == 0) { 
     238                        [loopPool release]; 
     239                         
     240                        loopPool = NULL; 
     241                } 
    234242        } 
    235243 
    236244        _connected = NO; 
    237245         
    238         if([_socket isOpen]) { 
    239                 // --- pre-mature disconnect from server 
     246        if(!_closing) { 
    240247                if(_delegateLinkClosed) 
    241248                        [_delegate linkClosed:self]; 
     
    243250                [_socket close]; 
    244251        } else { 
    245                 // --- user terminated the connection 
    246252                if(_delegateLinkTerminated) 
    247253                        [_delegate linkTerminated:self]; 
  • WiredClient/trunk/WCMain.m

    r3503 r3509  
    484484                [[self window] makeFirstResponder:_addressTextField]; 
    485485         
    486         if(url) { 
    487         } 
     486        if([url hostpair]) 
     487                [_addressTextField setStringValue:[url hostpair]]; 
     488 
     489        if([url user]) 
     490                [_loginTextField setStringValue:[url user]]; 
     491 
     492        if([url password]) 
     493                [_passwordTextField setStringValue:[url password]]; 
    488494 
    489495        [self showWindow:self]; 
  • WiredClient/trunk/WCServerConnection.m

    r3503 r3509  
    582582 
    583583 
    584 - (WCSSLSocket *)socket { 
     584- (WISocket *)socket { 
    585585        return [_link socket]; 
    586586} 
  • WiredClient/trunk/WCServerInfo.h

    r3413 r3509  
    4545        IBOutlet NSTextField                    *_protocolTitleTextField; 
    4646        IBOutlet NSTextField                    *_protocolTextField; 
     47        IBOutlet NSTextField                    *_sslProtocolTitleTextField; 
     48        IBOutlet NSTextField                    *_sslProtocolTextField; 
    4749        IBOutlet NSTextField                    *_cipherTitleTextField; 
    4850        IBOutlet NSTextField                    *_cipherTextField; 
  • WiredClient/trunk/WCServerInfo.m

    r3413 r3509  
    4242 
    4343- (void)_updateServerInfo { 
     44        WISocket        *socket; 
    4445        WCServer        *server; 
    4546        NSRect          rect; 
    4647 
     48        socket = [[self connection] socket]; 
    4749        server = [[self connection] server]; 
    4850 
     
    5759        [_versionTextField setStringValue:[[server serverVersion] wiredVersion]]; 
    5860        [_protocolTextField setStringValue:[NSSWF:@"%.1f", [server protocol]]]; 
    59         [_certificateTextField setStringValue:[[[self connection] socket] certificate]]; 
    60         [_cipherTextField setStringValue:[[[self connection] socket] cipher]]; 
     61        [_sslProtocolTextField setStringValue:[socket cipherVersion]]; 
     62        [_certificateTextField setStringValue:[NSSWF:@"%@/%u bits, %@", [socket certificateName], [socket certificateBits], [socket certificateHostname]]]; 
     63        [_cipherTextField setStringValue:[NSSWF:@"%@/%u bits", [socket cipherName], [socket cipherBits]]]; 
    6164        [_filesTextField setIntValue:[server files]]; 
    6265        [_sizeTextField setStringValue: 
     
    6972        [self _resizeTextField:_certificateTextField withTextField:_certificateTitleTextField]; 
    7073        [self _resizeTextField:_cipherTextField withTextField:_cipherTitleTextField]; 
     74        [self _resizeTextField:_sslProtocolTextField withTextField:_sslProtocolTitleTextField]; 
    7175        [self _resizeTextField:_protocolTextField withTextField:_protocolTitleTextField]; 
    7276        [self _resizeTextField:_versionTextField withTextField:_versionTitleTextField]; 
  • WiredClient/trunk/WCTrackerConnection.m

    r3503 r3509  
    295295 
    296296 
    297 - (WCSSLSocket *)socket { 
     297- (WISocket *)socket { 
    298298        return [_link socket]; 
    299299} 
  • WiredClient/trunk/WCTrackers.m

    r3505 r3509  
    424424 
    425425- (IBAction)open:(id)sender { 
    426         NSEnumerator            *enumerator; 
    427         NSData                          *data; 
    428         WCSocketAddress         *address; 
    429         WCTracker                       *item; 
    430         WIURL                           *url = NULL; 
    431  
    432         // --- get tracker 
     426        WIAddress               *address; 
     427        WIURL                   *url; 
     428        WCTracker               *item; 
     429 
    433430        item = [self selectedItem]; 
    434431 
    435432        if([item netService]) { 
    436                 // --- get addresses 
    437                 enumerator = [[[item netService] addresses] objectEnumerator]; 
    438  
    439                 while((data = [enumerator nextObject])) { 
    440                         // --- get adress 
    441                         address = [WCSocketAddress addressWithSockaddr:(struct sockaddr *) [data bytes]]; 
    442  
    443                         if(address) { 
    444                                 // --- set new URL 
    445                                 url = [WIURL URLWithScheme:@"wired" host:[address host] port:[address port]]; 
    446  
    447                                 break; 
    448                         } 
    449                 } 
    450         } 
    451  
    452         // --- connect 
     433                address = [WIAddress addressWithNetService:[item netService]]; 
     434                 
     435                url = [WIURL URLWithScheme:@"wired" host:[address string] port:[address port]]; 
     436        } else { 
     437                url = [item URL]; 
     438        } 
     439 
    453440        if([[url scheme] isEqualToString:@"wired"]) { 
    454441                [[WCMain main] showConnectWindowWithURL:url]; 
  • WiredClient/trunk/WCTransfers.m

    r3503 r3509  
    3636#import "WCServer.h" 
    3737#import "WCServerInfo.h" 
    38 #import "WCSocket.h" 
    3938#import "WCStats.h" 
    4039#import "WCTransfer.h" 
     
    248247        // --- fork a thread 
    249248        if([transfer type] == WCTransferTypeDownload) 
    250                 [NSThread detachNewThreadSelector:@selector(downloadThread:) toTarget:self withObject:transfer]; 
     249                [WIThread detachNewThreadSelector:@selector(downloadThread:) toTarget:self withObject:transfer]; 
    251250        else 
    252                 [NSThread detachNewThreadSelector:@selector(uploadThread:) toTarget:self withObject:transfer]; 
     251                [WIThread detachNewThreadSelector:@selector(uploadThread:) toTarget:self withObject:transfer]; 
    253252 
    254253        // --- trigger event 
     
    952951        NSProgressIndicator             *progressIndicator; 
    953952        NSString                                *path; 
    954       WCSSLSocket                             *socket = NULL; 
     953//    WCSSLSocket                             *socket = NULL; 
    955954        WCTransfer                              *transfer; 
    956955        WCFile                                  *file; 
     
    987986 
    988987        // --- create a socket 
    989       socket = [[WCSSLSocket alloc] initWithHost:[[transfer URL] host] port:[[transfer URL] port] type:WCSocketTypeTCP]; 
     988/*    socket = [[WCSSLSocket alloc] initWithHost:[[transfer URL] host] port:[[transfer URL] port] type:WCSocketTypeTCP]; 
    990989 
    991990        if(!socket) { 
     
    10121011                WCTransferCommand, 
    10131012                [transfer hash], 
    1014                 WCMessageSeparator]]; 
     1013                WCMessageSeparator]];*/ 
    10151014 
    10161015        // --- get current time 
     
    10241023        // --- we're now transferring 
    10251024        [transfer setState:WCTransferStateRunning]; 
    1026       [transfer setSecure:[socket isSecure]]; 
     1025//    [transfer setSecure:[socket isSecure]]; 
    10271026 
    10281027        // --- reload table 
     
    11391138                close(fd); 
    11401139 
    1141       [socket close]; 
     1140//    [socket close]; 
    11421141 
    11431142        // --- did this file finish? 
     
    12041203        [self performSelectorOnMainThread:@selector(validate)]; 
    12051204 
    1206       [socket release]; 
     1205//    [socket release]; 
    12071206        [pool release]; 
    12081207} 
     
    12141213        NSString                                *path; 
    12151214        NSDictionary                    *dictionary; 
    1216       WCSSLSocket                             *socket = NULL; 
     1215//    WCSSLSocket                             *socket = NULL; 
    12171216        WCTransfer                              *transfer; 
    12181217        WCFile                                  *file; 
     
    12471246 
    12481247        // --- create a socket 
    1249       socket = [[WCSSLSocket alloc] initWithHost:[[transfer URL] host] port:[[transfer URL] port] type:WCSocketTypeTCP]; 
     1248/*    socket = [[WCSSLSocket alloc] initWithHost:[[transfer URL] host] port:[[transfer URL] port] type:WCSocketTypeTCP]; 
    12501249 
    12511250        if(!socket) { 
     
    12721271                WCTransferCommand, 
    12731272                [transfer hash], 
    1274                 WCMessageSeparator]]; 
     1273                WCMessageSeparator]];*/ 
    12751274 
    12761275        // --- get current time 
     
    12841283        // --- we're now transferring 
    12851284        [transfer setState:WCTransferStateRunning]; 
    1286       [transfer setSecure:[socket isSecure]]; 
     1285//    [transfer setSecure:[socket isSecure]]; 
    12871286 
    12881287        // --- reload table 
     
    13861385                close(fd); 
    13871386 
    1388       [socket close]; 
     1387//    [socket close]; 
    13891388 
    13901389        // --- update stats 
     
    14661465        [self performSelectorOnMainThread:@selector(validate)]; 
    14671466 
    1468       [socket release]; 
     1467//    [socket release]; 
    14691468        [pool release]; 
    14701469} 
  • WiredClient/trunk/WiredClient.xcodeproj/project.pbxproj

    r3503 r3509  
    8383/* Begin PBXBuildFile section */ 
    8484                771E6D510755F506000F9195 /* WCConversation.m in Sources */ = {isa = PBXBuildFile; fileRef = 771E6D4F0755F506000F9195 /* WCConversation.m */; }; 
     85                77724B3F097D39EE0003B608 /* WiredAdditions.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5E8BAFA08748EFD0010F2A4 /* WiredAdditions.framework */; }; 
    8586                777E657B0740F34700A8DE0B /* WCBrowserCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 777E65790740F34700A8DE0B /* WCBrowserCell.m */; }; 
    8687                777E663D07412EF300A8DE0B /* Columns.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 777E663C07412EF300A8DE0B /* Columns.tiff */; }; 
     
    180181                A5DC7FAB057AB0A600736BBF /* WCUser.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DC7F9D057AB0A600736BBF /* WCUser.m */; }; 
    181182                A5DC7FAD057AB0A600736BBF /* WCTransfer.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DC7F9F057AB0A600736BBF /* WCTransfer.m */; }; 
    182                 A5DC7FB9057AB0D000736BBF /* WCSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DC7FB1057AB0D000736BBF /* WCSocket.m */; }; 
    183183                A5DC7FBA057AB0D000736BBF /* WCConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DC7FB2057AB0D000736BBF /* WCConnection.m */; }; 
    184184                A5DC7FBC057AB0D000736BBF /* WCError.m in Sources */ = {isa = PBXBuildFile; fileRef = A5DC7FB4057AB0D000736BBF /* WCError.m */; }; 
     
    231231                A5E4A6DB0791A3DC00FA127F /* DropBox12.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A5E4A6DA0791A3DC00FA127F /* DropBox12.tiff */; }; 
    232232                A5E4A6E20791A3E400FA127F /* Uploads12.tiff in Resources */ = {isa = PBXBuildFile; fileRef = A5E4A6E10791A3E400FA127F /* Uploads12.tiff */; }; 
    233                 A5E8BCC10874940E0010F2A4 /* WiredAdditions.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A5E8BAFA08748EFD0010F2A4 /* WiredAdditions.framework */; }; 
    234233                A5E8BCC2087494120010F2A4 /* WiredAdditions.framework in Copy Files (Frameworks) */ = {isa = PBXBuildFile; fileRef = A5E8BAFA08748EFD0010F2A4 /* WiredAdditions.framework */; }; 
    235234                A5E8BCD0087494DB0010F2A4 /* ReleaseNotes.rtf in Resources */ = {isa = PBXBuildFile; fileRef = A5E8BCCE087494DB0010F2A4 /* ReleaseNotes.rtf */; }; 
     
    480479                A5DC7F9E057AB0A600736BBF /* WCTransfer.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WCTransfer.h; sourceTree = "<group>"; }; 
    481480                A5DC7F9F057AB0A600736BBF /* WCTransfer.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = WCTransfer.m; sourceTree = "<group>"; }; 
    482                 A5DC7FB1057AB0D000736BBF /* WCSocket.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = WCSocket.m; sourceTree = "<group>"; }; 
    483481                A5DC7FB2057AB0D000736BBF /* WCConnection.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = WCConnection.m; sourceTree = "<group>"; }; 
    484482                A5DC7FB3057AB0D000736BBF /* WCError.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WCError.h; sourceTree = "<group>"; }; 
    485483                A5DC7FB4057AB0D000736BBF /* WCError.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = WCError.m; sourceTree = "<group>"; }; 
    486484                A5DC7FB6057AB0D000736BBF /* WCConnection.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WCConnection.h; sourceTree = "<group>"; }; 
    487                 A5DC7FB7057AB0D000736BBF /* WCSocket.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WCSocket.h; sourceTree = "<group>"; }; 
    488485                A5DC7FC2057AB0F200736BBF /* WCStats.h */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.h; path = WCStats.h; sourceTree = "<group>"; }; 
    489486                A5DC7FC3057AB0F200736BBF /* WCStats.m */ = {isa = PBXFileReference; fileEncoding = 5; lastKnownFileType = sourcecode.c.objc; path = WCStats.m; sourceTree = "<group>"; }; 
     
    553550                                A5D4F28006D75DA4002A33D0 /* ExceptionHandling.framework in Frameworks */, 
    554551                                A5A3400707216D8900A16E9A /* Security.framework in Frameworks */, 
    555                                 A5E8BCC10874940E0010F2A4 /* WiredAdditions.framework in Frameworks */, 
     552                                77724B3F097D39EE0003B608 /* WiredAdditions.framework in Frameworks */, 
    556553                        ); 
    557554                        runOnlyForDeploymentPostprocessing = 0; 
     
    10201017                                A57D216B07C95094002C306E /* WCServerConnection.m */, 
    10211018                                A57D216A07C95094002C306E /* WCServerConnection.h */, 
    1022                                 A5DC7FB1057AB0D000736BBF /* WCSocket.m */, 
    1023                                 A5DC7FB7057AB0D000736BBF /* WCSocket.h */, 
    10241019                                A57D20F007C92736002C306E /* WCTrackerConnection.m */, 
    10251020                                A57D20EF07C92736002C306E /* WCTrackerConnection.h */, 
     
    13791374                                A5DC7EE1057AAF2900736BBF /* WCPublicChat.m in Sources */, 
    13801375                                A5DC7EE3057AAF2900736BBF /* WCSearch.m in Sources */, 
    1381                                 A5DC7FB9057AB0D000736BBF /* WCSocket.m in Sources */, 
    13821376                                A52B301C05E6F0A300C651A4 /* WCServerInfo.m in Sources */, 
    13831377                                A5DC7FA7057AB0A600736BBF /* WCServer.m in Sources */, 
     
    16081602                                GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    16091603                                GCC_PREFIX_HEADER = prefix.pch; 
     1604                                HEADER_SEARCH_PATHS = "\"$(BUILT_PRODUCTS_DIR)/WiredAdditions.framework/Headers\""; 
    16101605                                INFOPLIST_FILE = Info.plist; 
    16111606                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-DDEBUG"; 
     
    16251620                                GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    16261621                                GCC_PREFIX_HEADER = prefix.pch; 
     1622                                HEADER_SEARCH_PATHS = "\"$(BUILT_PRODUCTS_DIR)/WiredAdditions.framework/Headers\""; 
    16271623                                INFOPLIST_FILE = Info.plist; 
    16281624                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-DTEST"; 
     
    16421638                                GCC_PRECOMPILE_PREFIX_HEADER = YES; 
    16431639                                GCC_PREFIX_HEADER = prefix.pch; 
     1640                                HEADER_SEARCH_PATHS = "\"$(BUILT_PRODUCTS_DIR)/WiredAdditions.framework/Headers\""; 
    16441641                                INFOPLIST_FILE = Info.plist; 
    16451642                                INFOPLIST_OTHER_PREPROCESSOR_FLAGS = "-DRELEASE";