final void imc_recv_update(String from, String chan, String owner,
						 String operators, String policy, String invited,
						 String excluded )
	{
		IMC_CHANNEL c;
		String mud;

		mud = imc_mudof(from);

		/* forged? */
		if (chan.indexOf(':')<-1 || !mud.equalsIgnoreCase(imc_mudof(chan)))
			return;

		c = new IMC_CHANNEL();
		c.name = chan;
		c.owner = owner;
		c.operators = operators;
		c.invited = invited;
		c.excluded = excluded;
		c.local_name = this.read_channel_name(chan);
		c.perm_level = PERM_ADMIN;
		c.refreshed = true;

		if (policy.equalsIgnoreCase("open"))
			c.policy = CHAN_OPEN;
		else if (policy.equalsIgnoreCase("closed"))
			c.policy = CHAN_CLOSED;
		else if (policy.equalsIgnoreCase("copen"))
			c.policy = CHAN_COPEN;
		else if (policy.equalsIgnoreCase("cprivate"))
			c.policy = CHAN_CPRIVATE;
		else
			c.policy = CHAN_PRIVATE;

		channels.put(c.name, c);
   }