Changeset 4305


Ignore:
Timestamp:
Dec 24, 2007, 3:48:42 AM (15 years ago)
Author:
livings124
Message:

get ipc fully working with ipc

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/daemon/server.c

    r3578 r4305  
    639639    {
    640640        case IPC_MSG_CRYPTO:
    641             if(!strcasecmp(val->val.s.s, "preferred"))
     641            if(!strcasecmp(val->val.s.s, "plaintext"))
     642                torrent_set_encryption(TR_PLAINTEXT_PREFERRED);
     643            else if(!strcasecmp(val->val.s.s, "preferred"))
    642644                torrent_set_encryption(TR_ENCRYPTION_PREFERRED);
    643645            else if(!strcasecmp(val->val.s.s, "required"))
     
    931933            switch(torrent_get_encryption())
    932934            {
     935                case TR_PLAINTEXT_PREFERRED:
     936                    strval = "plaintext";
     937                    break;
    933938                case TR_ENCRYPTION_PREFERRED:
    934939                    strval = "preferred";
  • trunk/doc/ipcproto.txt

    r3926 r4305  
    199199         "encryption", "required"
    200200Details: Set the encryption mode for peer connections. Valid values
    201          are "required" and "preferred".
     201         are "required", "preferred" and "plaintext".
    202202
    203203Key:     "failed"
  • trunk/macosx/Controller.m

    r4296 r4305  
    208208        fBadger = [[Badger alloc] initWithLib: fLib];
    209209       
    210         fIPCController = [[IPCController alloc] initWithHandle: fPrefsController];
     210        fIPCController = [[IPCController alloc] init];
    211211        [fIPCController setDelegate: self];
     212        [fIPCController setPrefsController: fPrefsController];
    212213        fRemoteQuit = NO;
    213214       
     
    24912492        NSString * file;
    24922493        BOOL torrent = NO;
    2493         int canAdd;
    24942494        tr_ctor * ctor;
    24952495        while ((file = [enumerator nextObject]))
  • trunk/macosx/IPCController.h

    r4288 r4305  
    5959}
    6060
    61 - (id) initWithHandle: (PrefsController *) thePrefsController;
     61
     62- (id) init;
    6263- (id)      delegate;
    6364- (void) setDelegate: (id) newdelegate;
     65- (void) setPrefsController: (id) thePrefsController;
    6466
    6567@end
  • trunk/macosx/IPCController.m

    r4298 r4305  
    119119@implementation IPCController
    120120
    121 - (id) initWithHandle : (PrefsController *) thePrefsController
    122 {
    123     fPrefsController = thePrefsController;
     121- (id) init
     122{
    124123    struct sockaddr_un sun;
    125124
     
    151150        0 > ipc_addmsg( _funcs, IPC_MSG_AUTOMAP,      msg_setbool   ) ||
    152151        0 > ipc_addmsg( _funcs, IPC_MSG_AUTOSTART,    msg_setbool   ) ||
     152        0 > ipc_addmsg( _funcs, IPC_MSG_CRYPTO,       msg_setstr    ) ||
    153153        0 > ipc_addmsg( _funcs, IPC_MSG_DIR,          msg_setstr    ) ||
    154154        0 > ipc_addmsg( _funcs, IPC_MSG_DOWNLIMIT,    msg_setint    ) ||
    155155        0 > ipc_addmsg( _funcs, IPC_MSG_GETAUTOMAP,   msg_getbool   ) ||
    156156        0 > ipc_addmsg( _funcs, IPC_MSG_GETAUTOSTART, msg_getbool   ) ||
     157        0 > ipc_addmsg( _funcs, IPC_MSG_GETCRYPTO,    msg_getstr    ) ||
    157158        0 > ipc_addmsg( _funcs, IPC_MSG_GETDIR,       msg_getstr    ) ||
    158159        0 > ipc_addmsg( _funcs, IPC_MSG_GETDOWNLIMIT, msg_getint    ) ||
     
    217218}
    218219
     220- (void) setPrefsController: (id) thePrefsController
     221{
     222    fPrefsController = thePrefsController;
     223}
     224
    219225@end
    220226
     
    787793            break;
    788794        case IPC_MSG_GETPEX:
    789 // we dont support this :(
     795//warning we dont support this :(
    790796            [client sendrespEmpty: IPC_MSG_FAIL tag: tag];
    791797            break;
     
    822828{
    823829    IPCClient * client = arg;
     830    NSString    * cryptoValue;
    824831
    825832    fDefaults = [NSUserDefaults standardUserDefaults];
     
    831838            [client sendrespStr:IPC_MSG_DIR tag:tag val:[fDefaults stringForKey:@"DownloadFolder"]];
    832839            break;
     840           
     841        case IPC_MSG_GETCRYPTO:
     842            if ([fDefaults boolForKey: @"EncryptionPrefer"])
     843                if ([fDefaults boolForKey: @"EncryptionRequire"])
     844                    cryptoValue = @"required";
     845                else
     846                    cryptoValue = @"preferred";
     847            else
     848                cryptoValue = @"plaintext";
     849           
     850            [client sendrespStr:IPC_MSG_CRYPTO tag:tag val:cryptoValue];
     851            break;
     852           
    833853        default:
    834854            assert( 0 );
     
    861881            break;
    862882        case IPC_MSG_PEX:
    863         //we dont support this :(
     883//warning we dont support this :(
    864884            [client sendrespEmpty: IPC_MSG_FAIL tag: tag];
    865885            break;
     
    890910            break;
    891911        case IPC_MSG_PORT:
    892 #warning show in preference window
    893912            [fPrefsController setPort:[NSNumber numberWithInt:val->val.i]];
     913            [fPrefsController updatePortField];
    894914            break;
    895915        case IPC_MSG_UPLIMIT:
     
    925945             [client sendrespEmpty: IPC_MSG_OK tag: tag];
    926946             break;
     947           
     948        case IPC_MSG_CRYPTO:
     949            if(!strcasecmp(val->val.s.s, "required"))
     950            {
     951                [fDefaults setBool:TRUE  forKey: @"EncryptionPrefer"];
     952                [fDefaults setBool:TRUE  forKey: @"EncryptionRequire"];
     953            }
     954           
     955            else if(!strcasecmp(val->val.s.s, "preferred"))
     956            {
     957                [fDefaults setBool:TRUE  forKey: @"EncryptionPrefer"];
     958                [fDefaults setBool:FALSE  forKey: @"EncryptionRequire"];
     959            }
     960           
     961            else if(!strcasecmp(val->val.s.s, "plaintext"))
     962            {
     963                [fDefaults setBool:FALSE  forKey: @"EncryptionPrefer"];
     964                [fDefaults setBool:FALSE  forKey: @"EncryptionRequire"];
     965            }
     966           
     967            [client sendrespEmpty: IPC_MSG_OK tag: tag];
     968            break;
     969           
    927970        default:
    928971             assert( 0 );
  • trunk/macosx/PrefsController.h

    r4280 r4305  
    6262- (void) setUpdater: (SUUpdater *) updater;
    6363
     64- (void) updatePortField;
    6465- (void) setPort: (id) sender;
    6566- (void) setNat: (id) sender;
  • trunk/macosx/PrefsController.m

    r4280 r4305  
    223223}
    224224
     225//used by ipc
     226- (void) updatePortField
     227{
     228    [fPortField setIntValue: [fDefaults integerForKey: @"BindPort"]];
     229}
     230
    225231- (void) setPort: (id) sender
    226232{
Note: See TracChangeset for help on using the changeset viewer.