1 var net
= require('net');
3 function IdentdServer(opts
) {
7 opts
.bind_addr
= opts
.bind_addr
|| '0.0.0.0';
8 opts
.bind_port
= opts
.bind_port
|| 113;
9 opts
.system_id
= opts
.system_id
|| 'UNIX-KiwiIRC';
10 opts
.user_id
= opts
.user_id
|| 'kiwi';
13 var server
= net
.createServer(function(socket
) {
16 if (typeof opts
.user_id
=== 'function') {
17 user
= opts
.user_id(socket
).toString();
19 user
= opts
.user_id
.toString();
22 if (typeof opts
.system_id
=== 'function') {
23 system
= opts
.system_id(socket
).toString();
25 system
= opts
.system_id
.toString();
28 socket
.end('25,25 : USERID : ' + system
+ ' : ' + user
);
31 server
.on('listening', function() {
32 console
.log('Ident Server listening on ' + server
.address().address
+ ':' + server
.address().port
);
36 this.start = function() {
37 server
.listen(opts
.bind_port
, opts
.bind_addr
);
40 this.stop = function(callback
) {
41 server
.close(callback
);
46 module
.exports
= IdentdServer
;