silc-client cmode-a issues

Jochen Eisinger jochen at penguin-breeder.org
Tue Oct 3 16:24:02 CEST 2006


Hi,

thanks for the patch. Basically, it would be nice to have more options,
but this would require changing the irssi base, which i want to avoid.
also getting the channel passphrase is not possible.

so I guess it's just your fixes and nothing extra fancy.

regards
-- jochen

nh wrote:
> hello,
> 
> silc-client-1.0.3-autochanpw.patch
> i had some problems with using of 'channel add -auto' for channel which
> got password (+a), password is saved in silc.conf, but after connect it
> just wrote incorrect pw
> 
> silc-client-1.0.3-reconchanpw.patch
> same thing goes for state of reconnecting, but there it's more
> problematic. i'm not sure if client is able to get that +a password from
> channel (IRC-like way). when JOIN is send to server password gets kinda
> lost, so you cant get it later (reply_command, after then channel_rec is
> created). so second patch makes changes in function
> silc_server_get_channels which is called when server state is being
> saved (in sig_server_reconnect_save_status). it uses channel setup data,
> so when user got defined channel on same chatnet with defined password
> it's added there.
> 
> just fast 'fixes', there is space for more code (keys options etc).
> 
> regards
> 
> 
> ------------------------------------------------------------------------
> 
> --- silc-client-1.0.3_old/apps/irssi/src/silc/core/silc-servers.c	2006-07-26 04:25:42.000000000 +0200
> +++ silc-client-1.0.3_new/apps/irssi/src/silc/core/silc-servers.c	2006-07-26 05:31:08.000000000 +0200
> @@ -33,6 +33,7 @@
>  #include "settings.h"
>  
>  #include "servers-setup.h"
> +#include "channels-setup.h"
>  
>  #include "client_ops.h"
>  #include "silc-servers.h"
> @@ -399,8 +400,14 @@
>    chans = g_string_new(NULL);
>    for (tmp = server->channels; tmp != NULL; tmp = tmp->next) {
>      CHANNEL_REC *channel = tmp->data;
> -
> -    g_string_sprintfa(chans, "%s,", channel->name);
> +    CHANNEL_SETUP_REC *setup_rec;
> +    
> +    if ((setup_rec = channel_setup_find(channel->name, server->tag)) &&
> +        setup_rec->password) 
> +      g_string_sprintfa(chans, "%s %s,", channel->name, 
> +                        setup_rec->password);
> +    else
> +      g_string_sprintfa(chans, "%s,", channel->name);
>    }
>  
>    if (chans->len > 0)
> 
> 
> ------------------------------------------------------------------------
> 
> --- silc-client-1.0.3_old/apps/irssi/src/core/channels.c	2006-07-26 04:25:42.000000000 +0200
> +++ silc-client-1.0.3_new/apps/irssi/src/core/channels.c	2006-07-26 04:40:43.000000000 +0200
> @@ -204,8 +204,12 @@
>  
>  		/* check that we haven't already joined this channel in
>  		   same chat network connection.. */
> -                if (channel_find_servers(chatnet_servers, rec->name) == NULL)
> -			g_string_sprintfa(chans, "%s,", rec->name);
> +                if (channel_find_servers(chatnet_servers, rec->name) == NULL) 
> +			if (rec->password)
> +				g_string_sprintfa(chans, "%s %s,", rec->name, 
> +						  rec->password);
> +			else
> +				g_string_sprintfa(chans, "%s,", rec->name);
>  	}
>          g_slist_free(chatnet_servers);
>  
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________________________________
> Info:    https://lists.silcnet.org/mailman/listinfo/silc-announce
> Archive: https://lists.silcnet.org/pipermail/silc-announce
> FAQ:     http://silcnet.org/support/faq/


More information about the silc-devel mailing list