⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 check_pass_null.pl

📁 ejabberd-0.7.5 分布式Jabber服务器
💻 PL
字号:
#!/usr/local/bin/perluse Unix::Syslog qw(:macros :subs);my $domain = $ARGV[0] || "example.com";while(1)  {   # my $rin = '',$rout;   # vec($rin,fileno(STDIN),1) = 1;   # $ein = $rin;   # my $nfound = select($rout=$rin,undef,undef,undef);    my $buf = "";    syslog LOG_INFO,"waiting for packet";    my $nread = sysread STDIN,$buf,2;    do { syslog LOG_INFO,"port closed"; exit; } unless $nread == 2;    my $len = unpack "n",$buf;    my $nread = sysread STDIN,$buf,$len;    my ($op,$user,$password) = split /:/,$buf;    #$user =~ s/\./\//og;    my $jid = "$user\@$domain";    my $result;    syslog(LOG_INFO,"request (%s)", $op);  SWITCH:      {	$op eq 'auth' and do	  {             $result = 1;	  },last SWITCH;	$op eq 'setpass' and do	  {             $result = 1;	  },last SWITCH;        $op eq 'isuser' and do          {             # password is null. Return 1 if the user $user\@$domain exitst.             $result = 1;          },last SWITCH;      };    my $out = pack "nn",2,$result ? 1 : 0;    syswrite STDOUT,$out;  }closelog;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -