<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://en.znc.in/w/skins/common/feed.css?300"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://en.znc.in/w/index.php?title=Special:RecentChanges&amp;feed=atom</id>
		<title>ZNC  - Recent changes [en]</title>
		<link rel="self" type="application/atom+xml" href="http://en.znc.in/w/index.php?title=Special:RecentChanges&amp;feed=atom"/>
		<link rel="alternate" type="text/html" href="http://en.znc.in/wiki/Special:RecentChanges"/>
		<updated>2010-09-07T21:26:29Z</updated>
		<subtitle>Track the most recent changes to the wiki in this feed.</subtitle>
		<generator>MediaWiki 1.17alpha</generator>

	<entry>
		<id>http://en.znc.in/w/index.php?title=Webadmin&amp;diff=4112&amp;oldid=prev</id>
		<title>Webadmin</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=Webadmin&amp;diff=4112&amp;oldid=prev"/>
				<updated>2010-09-07T21:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Usage: &lt;/span&gt; &lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 21:09, 7 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Module arguments&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Module arguments&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| type = global }}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;| type = global }}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* -ipv4&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* -ipv6&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* -noircport&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;The default port seems to be 8080, unless you use SSL, in which case the port is the port number ZNC is bound to.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Functions ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Functions ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>L0xin</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/wiki/User:L0xin</id>
		<title>User:L0xin</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/wiki/User:L0xin"/>
				<updated>2010-09-07T21:01:13Z</updated>
		
		<summary type="html">&lt;p&gt;New user account&lt;/p&gt;
</summary>
		<author><name>L0xin</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/wiki/User:DarthGandalf/modperl</id>
		<title>User:DarthGandalf/modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/wiki/User:DarthGandalf/modperl"/>
				<updated>2010-09-07T11:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;moved [[&lt;a href=&quot;/w/index.php?title=User:DarthGandalf/modperl&amp;amp;redirect=no&quot; class=&quot;mw-redirect&quot; title=&quot;User:DarthGandalf/modperl&quot;&gt;User:DarthGandalf/modperl&lt;/a&gt;]] to [[&lt;a href=&quot;/wiki/Modperl&quot; title=&quot;Modperl&quot;&gt;Modperl&lt;/a&gt;]] New perl modules!&lt;/p&gt;
</summary>
		<author><name>Psychon</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/wiki/Modperl</id>
		<title>Modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/wiki/Modperl"/>
				<updated>2010-09-07T11:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;deleted &amp;quot;[[&lt;a href=&quot;/wiki/Modperl&quot; title=&quot;Modperl&quot;&gt;Modperl&lt;/a&gt;]]&amp;quot; Deleted to make way for move&lt;/p&gt;
</summary>
		<author><name>Psychon</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4109&amp;oldid=prev</id>
		<title>User:DarthGandalf/modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4109&amp;oldid=prev"/>
				<updated>2010-09-07T11:27:10Z</updated>
		
		<summary type="html">&lt;p&gt;Link to old modperl&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 11:27, 7 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Modperl allows you to use modules written on perl.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Modperl allows you to use modules written on perl.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;This page describes module since ZNC 0.095. If you still need help on old modperl, look [[Modperl/old|here]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Compiling ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Compiling ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/wiki/Modperl</id>
		<title>Modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/wiki/Modperl"/>
				<updated>2010-09-07T11:23:34Z</updated>
		
		<summary type="html">&lt;p&gt;moved [[&lt;a href=&quot;/w/index.php?title=Modperl&amp;amp;redirect=no&quot; title=&quot;Modperl&quot;&gt;Modperl&lt;/a&gt;]] to [[&lt;a href=&quot;/wiki/Modperl/old&quot; title=&quot;Modperl/old&quot;&gt;Modperl/old&lt;/a&gt;]] Was changed to another module in 0.095&lt;/p&gt;
</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4106&amp;oldid=prev</id>
		<title>User:DarthGandalf/modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4106&amp;oldid=prev"/>
				<updated>2010-09-06T03:21:42Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Sockets: &lt;/span&gt; &lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 03:21, 6 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 214:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 214:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;All sockets are instances of special classes derived from &amp;lt;code&amp;gt;ZNC::Socket&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;All sockets are instances of special classes derived from &amp;lt;code&amp;gt;ZNC::Socket&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;ZNC::Socket have all the same methods as &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;CSocket&lt;/del&gt;, except Connect and Listen.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;ZNC::Socket have all the same methods as &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Csock&lt;/ins&gt;, except Connect and Listen&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Callbacks have different names from ones of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;CSocket&lt;/del&gt;, they are described later.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Csock's reference can be found [http://csocket.net/docs/annotated.html here].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;To get reference to associated module, use &amp;lt;code&amp;gt;GetModule&amp;lt;/code&amp;gt;&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Callbacks have different names from ones of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Csock&lt;/ins&gt;, they are described later.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To create socket, use &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;function &lt;/del&gt;CreateSocket. First argument is the name of your socket class. The function creates socket and calls method &amp;lt;code&amp;gt;Init&amp;lt;/code&amp;gt; of it with the rest of arguments. Reference to the new socket is returned.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To create socket, use &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;module's method &lt;/ins&gt;CreateSocket. First argument is the name of your socket class. The function creates socket and calls method &amp;lt;code&amp;gt;Init&amp;lt;/code&amp;gt; of it with the rest of arguments. Reference to the new socket is returned.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To connect socket, use method &amp;lt;code&amp;gt;Connect&amp;lt;/code&amp;gt;. It gets 2 required arguments - hostname and port, and several optional named arguments:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To connect socket, use method &amp;lt;code&amp;gt;Connect&amp;lt;/code&amp;gt;. It gets 2 required arguments - hostname and port, and several optional named arguments:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 324:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 326:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* OnReadLine - is called for every new line from socket. The line, including ending \n (or \r\n) is in argument. It's called only if you enabled this feature for the socket.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* OnReadLine - is called for every new line from socket. The line, including ending \n (or \r\n) is in argument. It's called only if you enabled this feature for the socket.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* OnAccepted - is called for listening socket for every new connection. Arguments are hostname and port of remote end. The callback should return undef if you don't need the connection, or reference to new socket, which will be used for this connection.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* OnAccepted - is called for listening socket for every new connection. Arguments are hostname and port of remote end. The callback should return undef if you don't need the connection, or reference to new socket, which will be used for this connection.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;If callback On* dies/croaks, the socket is closed, but if you want to close socket, use method &amp;lt;code&amp;gt;Close&amp;lt;/code&amp;gt; instead.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;If Init croaks, behavior is undefined.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=FAQ&amp;diff=4105&amp;oldid=prev</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=FAQ&amp;diff=4105&amp;oldid=prev"/>
				<updated>2010-09-05T14:59:15Z</updated>
		
		<summary type="html">&lt;p&gt;Rehash&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 14:59, 5 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan='4' align='center' class='diff-multi'&gt;(One intermediate revision not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 96:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  server -m my.bouncer.net:+6697 user3:password3 -i Nickname AltNick Email Fullname&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160;  server -m my.bouncer.net:+6697 user3:password3 -i Nickname AltNick Email Fullname&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=== I added several different servers, but ZNC connects only to one of them! ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;You need to have separate user per IRC network (see previous question).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Additional servers for the same user are for fallback.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;If one server doesn't work, ZNC tries to connect to another server.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;So you can add several servers of one network to server list of one user.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== How do I add a new user? ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== How do I add a new user? ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 157:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 163:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== My IRC-Client doesnt allow multiple connections to one server/host ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== My IRC-Client doesnt allow multiple connections to one server/host ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Try to use different local aliases for the bnc-host.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Try to use different local aliases for the bnc-host.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;=== How to reload ZNC config without restart? ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;The best way is '''NOT''' to change znc.conf and other files manually while ZNC is running.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Try to use [[webadmin]] or [[admin]] instead, or use &amp;lt;code&amp;gt;/msg *status help&amp;lt;/code&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;If you ''really'' need to rehash config from file, there're 2 ways to do that: from IRC (&amp;lt;code&amp;gt;/msg *status rehash&amp;lt;/code&amp;gt;)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;and from shell (&amp;lt;code&amp;gt;pkill -SIGHUP znc&amp;lt;/code&amp;gt;).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4103&amp;oldid=prev</id>
		<title>User:DarthGandalf/modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4103&amp;oldid=prev"/>
				<updated>2010-09-05T11:28:15Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Sockets: &lt;/span&gt; &lt;/p&gt;
&lt;a href=&quot;http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;amp;diff=4103&amp;amp;oldid=4089&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=Talk:Charset&amp;diff=4091&amp;oldid=prev</id>
		<title>Talk:Charset</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=Talk:Charset&amp;diff=4091&amp;oldid=prev"/>
				<updated>2010-09-04T00:02:13Z</updated>
		
		<summary type="html">&lt;p&gt;Reverted edits by &lt;a href=&quot;/wiki/Special:Contributions/91.214.46.223&quot; title=&quot;Special:Contributions/91.214.46.223&quot;&gt;91.214.46.223&lt;/a&gt; (&lt;a href=&quot;/w/index.php?title=User_talk:91.214.46.223&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:91.214.46.223 (page does not exist)&quot;&gt;talk&lt;/a&gt;) to last revision by &lt;a href=&quot;/w/index.php?title=User:Silverleo&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Silverleo (page does not exist)&quot;&gt;Silverleo&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 00:02, 4 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To have #blabla in utf8 and #foo in ISOxxxx.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To have #blabla in utf8 and #foo in ISOxxxx.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* yeah that's on my to do list, but I won't work on it any time soon. ''[[User:Flakes|Flakes]] 20:05, 23 June 2010 (CEST)''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* yeah that's on my to do list, but I won't work on it any time soon. ''[[User:Flakes|Flakes]] 20:05, 23 June 2010 (CEST)''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;== Hi all ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Sorry admin - my post is test&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Silverleo</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=Talk:Charset&amp;diff=4090&amp;oldid=prev</id>
		<title>Talk:Charset</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=Talk:Charset&amp;diff=4090&amp;oldid=prev"/>
				<updated>2010-09-03T22:29:15Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Hi all: &lt;/span&gt; new section&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:29, 3 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To have #blabla in utf8 and #foo in ISOxxxx.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To have #blabla in utf8 and #foo in ISOxxxx.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* yeah that's on my to do list, but I won't work on it any time soon. ''[[User:Flakes|Flakes]] 20:05, 23 June 2010 (CEST)''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* yeah that's on my to do list, but I won't work on it any time soon. ''[[User:Flakes|Flakes]] 20:05, 23 June 2010 (CEST)''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;== Hi all ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Sorry admin - my post is test&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>91.214.46.223</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4089&amp;oldid=prev</id>
		<title>User:DarthGandalf/modperl</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=User:DarthGandalf/modperl&amp;diff=4089&amp;oldid=prev"/>
				<updated>2010-09-03T18:30:49Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Subpages: &lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:modperl}}&lt;br /&gt;
&lt;br /&gt;
Modperl allows you to use modules written on perl.&lt;br /&gt;
&lt;br /&gt;
== Compiling ==&lt;br /&gt;
First, you need to use ./configure with option --enable-perl.&lt;br /&gt;
&lt;br /&gt;
To build modperl, you need some files produced by [http://www.swig.org/ SWIG].&lt;br /&gt;
They are not shipped with ZNC because of huge size (several megabytes).&lt;br /&gt;
There're 2 ways to get them:&lt;br /&gt;
# Install swig. Needed files will be generated automatically when you run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; in znc source dir to compile znc.&lt;br /&gt;
# Download these files (link here) to &amp;lt;znc-source&amp;gt;/modules/modperl/ and add option --disable-swig to ./configure&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Loading and unloading of perl modules is similar to C++ modules.&lt;br /&gt;
For example, you can use &amp;lt;code&amp;gt;/znc loadmod&amp;lt;/code&amp;gt; or [[webadmin]].&lt;br /&gt;
&lt;br /&gt;
If you unload modperl, all perl modules are automatically unloaded too.&lt;br /&gt;
&lt;br /&gt;
{{Module arguments|type=global}}&lt;br /&gt;
&lt;br /&gt;
== Writing new perl modules ==&lt;br /&gt;
=== Basics ===&lt;br /&gt;
&lt;br /&gt;
Every perl module is file named like modulename.pm and is located in usual modules directories.&lt;br /&gt;
The file must contain package with exactly the same name as the module itself. (See [[example]])&lt;br /&gt;
The module should be derived from &amp;lt;code&amp;gt;ZNC::Module&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Description of the module is the return value from a &amp;lt;code&amp;gt;sub description&amp;lt;/code&amp;gt;.&lt;br /&gt;
All callbacks have the same name as in C++, and have the same arguments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sub OnShutdown&amp;lt;/code&amp;gt; is used as destructor (instead of perl's DESTROY).&lt;br /&gt;
&amp;lt;code&amp;gt;OnShutdown&amp;lt;/code&amp;gt; is called when the module is going to be unloaded.&lt;br /&gt;
&lt;br /&gt;
Don't begin names of your member data fields with underscore (_) - some of them are used by modperl internally.&lt;br /&gt;
 sub OnShutdown {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     $self-&amp;gt;{foo} = &amp;quot;foo&amp;quot;; # OK&lt;br /&gt;
     $self-&amp;gt;{_bar} = &amp;quot;bar&amp;quot;; # Fail, probably will work but can randomly stop working.&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
&lt;br /&gt;
All ZNC classes are accessible from perl with &amp;lt;code&amp;gt;ZNC::&amp;lt;/code&amp;gt; prefix. The exception is CString.&lt;br /&gt;
All uses of CString by value is transparently translated to/from perl string scalars.&lt;br /&gt;
Though if a var isn't a string, you might need to explicitly stringify it:&lt;br /&gt;
 // C++&lt;br /&gt;
 void Foo(const CString&amp;amp; s);&lt;br /&gt;
&lt;br /&gt;
 # perl&lt;br /&gt;
 my $str = &amp;quot;bar&amp;quot;;&lt;br /&gt;
 ZNC::Foo($str); # OK&lt;br /&gt;
 my $num = 42;&lt;br /&gt;
 ZNC::Foo($num); # Fail&lt;br /&gt;
 ZNC::Foo(&amp;quot;$num&amp;quot;); # OK&lt;br /&gt;
 ZNC::Foo($num . &amp;quot;&amp;quot;); # OK&lt;br /&gt;
 ZNC::Foo(ZNC::String-&amp;gt;new($num)); # OK, see below about ZNC::String&lt;br /&gt;
If you need to ''call'' a function which gets CString by reference, and returns a value in it, &lt;br /&gt;
there's a class named &amp;lt;code&amp;gt;ZNC::String&amp;lt;/code&amp;gt;:&lt;br /&gt;
 // C++&lt;br /&gt;
 void Foo(CString&amp;amp; s) {&lt;br /&gt;
     s = &amp;quot;bar&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 # perl&lt;br /&gt;
 my $s = ZNC::String-&amp;gt;new;&lt;br /&gt;
 ZNC::Foo($s);&lt;br /&gt;
 print $s-&amp;gt;GetPerlStr; # prints 'bar' to stdout&lt;br /&gt;
As you see, to get normal string from &amp;lt;code&amp;gt;ZNC::String&amp;lt;/code&amp;gt; there's a method &amp;lt;code&amp;gt;GetPerlStr&amp;lt;/code&amp;gt;.&lt;br /&gt;
You can construct non-empty &amp;lt;code&amp;gt;ZNC::String&amp;lt;/code&amp;gt; using an argument to &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt;.&lt;br /&gt;
This constructor can get string scalars, integer scalars, float scalars.&lt;br /&gt;
&lt;br /&gt;
When you implement a module hook which accepts &amp;lt;code&amp;gt;CString&amp;amp;&amp;lt;/code&amp;gt;, no ZNC::String magic is needed, it just works:&lt;br /&gt;
 sub OnChanMsg {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     # @_ == (nick, channel, message)&lt;br /&gt;
     if ($_[0]-&amp;gt;GetNick eq &amp;quot;Fish&amp;quot; || $_[2] eq &amp;quot;kwaa&amp;quot;) {&lt;br /&gt;
         $_[2] = &amp;quot;moo!&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Module's NV ===&lt;br /&gt;
&lt;br /&gt;
There're some issues with using std iterators from perl, so class CModule got new methods: &amp;lt;code&amp;gt;GetNVKeys&amp;lt;/code&amp;gt; which returns list of names of all NV values of the module, and &amp;lt;code&amp;gt;ExistsNV&amp;lt;/code&amp;gt; which checks if specified variable exists.&lt;br /&gt;
 sub OnModCommand {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     my @nvkeys = $self-&amp;gt;GetNVKeys;&lt;br /&gt;
     if ($self-&amp;gt;ExistsNV(&amp;quot;foo&amp;quot;)) {&lt;br /&gt;
         $self-&amp;gt;SetNV(&amp;quot;bar&amp;quot;, $self-&amp;gt;GetNV(&amp;quot;foo&amp;quot;));&lt;br /&gt;
         $self-&amp;gt;DelNV(&amp;quot;foo&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     ....&lt;br /&gt;
 }&lt;br /&gt;
Also there's another interface for accessing NVs - perl hash. (But for big number of values it's slow)&lt;br /&gt;
 sub OnModCommand {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     my $nv = $self-&amp;gt;NV;&lt;br /&gt;
     while (my ($key, $value) = each %$nv) {&lt;br /&gt;
         ...&lt;br /&gt;
     }&lt;br /&gt;
     my @nvkeys = keys %$nv;&lt;br /&gt;
     $nv-&amp;gt;{foo} = &amp;quot;bar&amp;quot;;&lt;br /&gt;
     $self-&amp;gt;PutModule($nv-&amp;gt;{foo});&lt;br /&gt;
     delete $nv-&amp;gt;{foo};&lt;br /&gt;
 }&lt;br /&gt;
Of course, you can use &amp;lt;code&amp;gt;$self-&amp;gt;{foo}&amp;lt;/code&amp;gt; for storing temporary values, but NV data is stored on disk.&lt;br /&gt;
&lt;br /&gt;
=== Web ===&lt;br /&gt;
&lt;br /&gt;
==== CTemplate ====&lt;br /&gt;
&lt;br /&gt;
Instead of operator[] use set:&lt;br /&gt;
 // C++&lt;br /&gt;
 CTemplate&amp;amp; tmpl = ...;&lt;br /&gt;
 tmpl[&amp;quot;name&amp;quot;] = &amp;quot;value&amp;quot;;&lt;br /&gt;
 CTemplate&amp;amp; row = tmpl.AddRow(&amp;quot;SomeTable&amp;quot;);&lt;br /&gt;
 row[&amp;quot;foo&amp;quot;] = &amp;quot;bar&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
 # perl equivalent&lt;br /&gt;
 my $tmpl = ...;&lt;br /&gt;
 $tmpl-&amp;gt;set(&amp;quot;name&amp;quot;, &amp;quot;value&amp;quot;);&lt;br /&gt;
 my $row = $tmpl-&amp;gt;AddRow(&amp;quot;SomeTable&amp;quot;);&lt;br /&gt;
 $row-&amp;gt;set(&amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
==== Subpages ====&lt;br /&gt;
If you want to have subpages for the module, use helper function &amp;lt;code&amp;gt;ZNC::CreateWebSubPage&amp;lt;/code&amp;gt;.&lt;br /&gt;
It accepts one required argument - name of the subpage, and several optional named arguments:&lt;br /&gt;
* title - text for displaying subpage name. By default it's the same as name.&lt;br /&gt;
* params - reference to hash of parameters which will be used in URL linking to the subpage.&lt;br /&gt;
* admin - set to true value if subpage should be accessible only by admins.&lt;br /&gt;
&lt;br /&gt;
There're 2 ways: using AddSubPage/ClearSubPages and overriding GetSubPages.&lt;br /&gt;
 sub OnLoad {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     $self-&amp;gt;AddSubPage(ZNC::CreateWebSubPage('page1'));&lt;br /&gt;
     $self-&amp;gt;AddSubPage(ZNC::CreateWebSubPage('page2', title=&amp;gt;'Page N2'));&lt;br /&gt;
     $self-&amp;gt;AddSubPage(ZNC::CreateWebSubPage('page3', params=&amp;gt;{var1=&amp;gt;'value1', var2=&amp;gt;'value2'}, admin=&amp;gt;1);&lt;br /&gt;
     1&lt;br /&gt;
 }&lt;br /&gt;
The second way - to override GetSubPages.&lt;br /&gt;
Perhaps it may be better if list of subpages changes often in runtime.&lt;br /&gt;
&lt;br /&gt;
But don't return pointer to local variable! Perl destroys objects when reference count goes to zero. In these 2 examples additional reference to returned object is stored in $self-&amp;gt;{webpages}.&lt;br /&gt;
 sub OnLoad {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     $self-&amp;gt;{webpages} = ZNC::VWebSubPages-&amp;gt;new;&lt;br /&gt;
     1&lt;br /&gt;
 }&lt;br /&gt;
 sub OnModCommand {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     my $cmd = shift;&lt;br /&gt;
     $self-&amp;gt;{webpages}-&amp;gt;push(ZNC::CreateWebSubPage($cmd));&lt;br /&gt;
 }&lt;br /&gt;
 sub GetSubPages {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     return $self-&amp;gt;{webpages}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 sub GetSubPages {&lt;br /&gt;
     my $self = shift;&lt;br /&gt;
     my $result = ZNC::VWebSubPages-&amp;gt;new;&lt;br /&gt;
     $result-&amp;gt;push(ZNC::CreateWebSubPage('foo'));&lt;br /&gt;
     $self-&amp;gt;{webpages} = $result;&lt;br /&gt;
     return $result;&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=ZNC&amp;diff=4078&amp;oldid=prev</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=ZNC&amp;diff=4078&amp;oldid=prev"/>
				<updated>2010-09-03T02:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Further Info: &lt;/span&gt; +link to new page&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 02:51, 3 September 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 33:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[ZNC Backup]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[ZNC Backup]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[ExternalTools]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* [[ExternalTools]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* [[StartSSL|Using signed SSL cert]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Writing modules ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Writing modules ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>DarthGandalf</name></author>	</entry>

	<entry>
		<id>http://en.znc.in/w/index.php?title=StartSSL&amp;diff=4077&amp;oldid=prev</id>
		<title>StartSSL</title>
		<link rel="alternate" type="text/html" href="http://en.znc.in/w/index.php?title=StartSSL&amp;diff=4077&amp;oldid=prev"/>
				<updated>2010-09-02T15:26:55Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;If you want to use your StartSSL web server certificate in ZNC, you need to put your private key and the your certificate into ~/.znc/znc.pem. The certificate now gets validated, but the validation fails, since the root certificate is properly not know on your machine (while most browser come built-in with the root certificate). So you either make the certificate known to your machine (and all your ZNC users) or your put the root cert into your znc.pem file like the following:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;cd ~/.znc/&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;wget https://www.startssl.com/certs/sub.class1.server.ca.pem -O startssl.com.root.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;cat startssl.com.root.pem &amp;gt;&amp;gt; znc.pem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It seems the order in your znc.pem must be &amp;quot;key&amp;quot;, &amp;quot;own cert&amp;quot; and &amp;quot;root cert&amp;quot;. If you get connection errors, make sure you done it right. You can test your certificate without connecting to znc with the following command:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;openssl s_client -showcerts -connect domain.tld:6667&amp;lt;/code&amp;gt;&lt;br /&gt;
Change the domain and port to your domain and znc's listening port.&lt;/div&gt;</summary>
		<author><name>87.173.21.5</name></author>	</entry>

	</feed>