r8873 - in /trunk/libnet-sip-perl: Changes META.yml bin/answer_machine.pl debian/changelog lib/Net/SIP.pm lib/Net/SIP/Dispatcher.pm
rmayorga-guest at users.alioth.debian.org
rmayorga-guest at users.alioth.debian.org
Mon Nov 5 18:16:11 UTC 2007
Author: rmayorga-guest
Date: Mon Nov 5 18:16:10 2007
New Revision: 8873
URL: http://svn.debian.org/wsvn/?sc=1&rev=8873
Log:
* New upstream release
* Merge Gregor's changelog entrys
* s/UNRELEASED/unstable/
Modified:
trunk/libnet-sip-perl/Changes
trunk/libnet-sip-perl/META.yml
trunk/libnet-sip-perl/bin/answer_machine.pl
trunk/libnet-sip-perl/debian/changelog
trunk/libnet-sip-perl/lib/Net/SIP.pm
trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm
Modified: trunk/libnet-sip-perl/Changes
URL: http://svn.debian.org/wsvn/trunk/libnet-sip-perl/Changes?rev=8873&op=diff
==============================================================================
--- trunk/libnet-sip-perl/Changes (original)
+++ trunk/libnet-sip-perl/Changes Mon Nov 5 18:16:10 2007
@@ -1,4 +1,11 @@
Revision history for Net::SIP
+
+0.38
+ - fix dns lookup problem for SRV records. Instead of using the
+ IP it used the service name (e.g. _sip._udp....) as the target
+ of the packet
+ - bin/answer_machine.pl - crude attempt to create filenames
+ which don't have chars special to windows ('<',...)
0.37
- Endpoint::close_context now cancel all outstanding deliveries
Modified: trunk/libnet-sip-perl/META.yml
URL: http://svn.debian.org/wsvn/trunk/libnet-sip-perl/META.yml?rev=8873&op=diff
==============================================================================
--- trunk/libnet-sip-perl/META.yml (original)
+++ trunk/libnet-sip-perl/META.yml Mon Nov 5 18:16:10 2007
@@ -1,7 +1,7 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Net-SIP
-version: 0.37
+version: 0.38
version_from: lib/Net/SIP.pm
installdirs: site
requires:
Modified: trunk/libnet-sip-perl/bin/answer_machine.pl
URL: http://svn.debian.org/wsvn/trunk/libnet-sip-perl/bin/answer_machine.pl?rev=8873&op=diff
==============================================================================
--- trunk/libnet-sip-perl/bin/answer_machine.pl (original)
+++ trunk/libnet-sip-perl/bin/answer_machine.pl Mon Nov 5 18:16:10 2007
@@ -158,7 +158,7 @@
my $from = $call->get_peer;
my $filename = sprintf "%d_%s_.pcmu-8000", time(),$from;
- $filename =~s{[/[:^print:]]}{_}g; # normalize
+ $filename =~s{[/<>:\.[:^print:]]}{_}g; # normalize
DEBUG( "call=$call param=$param peer=$from filename='$filename'" );
$filename = $savedir."/".$filename if $savedir;
Modified: trunk/libnet-sip-perl/debian/changelog
URL: http://svn.debian.org/wsvn/trunk/libnet-sip-perl/debian/changelog?rev=8873&op=diff
==============================================================================
--- trunk/libnet-sip-perl/debian/changelog (original)
+++ trunk/libnet-sip-perl/debian/changelog Mon Nov 5 18:16:10 2007
@@ -1,9 +1,13 @@
-libnet-sip-perl (0.37-2) UNRELEASED; urgency=low
+libnet-sip-perl (0.38-1) unstable; urgency=low
+ [ Gregor Herrmann ]
* debian/control: Added: Vcs-Svn field (source stanza); Vcs-Browser
field (source stanza). Removed: XS-Vcs-Svn fields.
- -- gregor herrmann <gregor+debian at comodo.priv.at> Tue, 09 Oct 2007 22:31:11 +0200
+ [ Rene Mayorga ]
+ * New upstream release
+
+ -- Rene Mayorga <rmayorga at debian.org.sv> Mon, 05 Nov 2007 12:16:39 -0600
libnet-sip-perl (0.37-1) unstable; urgency=low
Modified: trunk/libnet-sip-perl/lib/Net/SIP.pm
URL: http://svn.debian.org/wsvn/trunk/libnet-sip-perl/lib/Net/SIP.pm?rev=8873&op=diff
==============================================================================
--- trunk/libnet-sip-perl/lib/Net/SIP.pm (original)
+++ trunk/libnet-sip-perl/lib/Net/SIP.pm Mon Nov 5 18:16:10 2007
@@ -4,7 +4,7 @@
require 5.008;
package Net::SIP;
-our $VERSION = '0.37';
+our $VERSION = '0.38';
# this includes nearly everything else
use Net::SIP::Simple ();
Modified: trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm
URL: http://svn.debian.org/wsvn/trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm?rev=8873&op=diff
==============================================================================
--- trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm (original)
+++ trunk/libnet-sip-perl/lib/Net/SIP/Dispatcher.pm Mon Nov 5 18:16:10 2007
@@ -775,16 +775,42 @@
my $dns = Net::DNS::Resolver->new;
# Try to get SRV records for _sip._udp.domain or _sip._tcp.domain
- my @resp;
+ my (@resp,%addr2ip);
foreach my $proto ( @$protos ) {
if ( my $q = $dns->query( '_'.$sip_proto.'._'.$proto.'.'.$domain,'SRV' )) {
foreach my $rr ( $q->answer ) {
- $rr->type eq 'SRV' || next;
- # XXX fixme, get IPs for name
- push @resp,[ $rr->priority, $proto,$rr->name,$rr->port ]
- }
- }
- }
+ if ( $rr->type eq 'A' ) {
+ push @{ $addr2ip{$rr->name} }, $rr->address;
+ } elsif ( $rr->type eq 'SRV' ) {
+ push @resp,[ $rr->priority, $proto,$rr->target,$rr->port ]
+ }
+ }
+ }
+ }
+
+ # name to addr based on additional records in DNS answer
+ my @resp_resolved;
+ for my $r (@resp) {
+ if ( my $addr = $addr2ip{ $r->[2] } ) {
+ for (@$addr) {
+ my @cp = @$r;
+ $cp[2] = $_;
+ push @resp_resolved, \@cp;
+ }
+ } else {
+ # either already IP or no additional data for resolving -> later
+ my @cp = @$r;
+ # XXX fixme blocking DNS lookup
+ my $ipn = gethostbyname( $r->[2] ) or do {
+ DEBUG( 1,"cannot resolve $r->[2]" );
+ next;
+ };
+ $cp[2] = inet_ntoa($ipn);
+ push @resp_resolved, \@cp;
+ }
+ }
+ @resp = @resp_resolved;
+
# if no SRV records try to resolve address directly
unless (@resp) {
# try addr directly
@@ -792,7 +818,8 @@
if ( my $q = $dns->query( $domain,'A' )) {
foreach my $rr ($q->answer ) {
$rr->type eq 'A' || next;
- # XXX fixme, get *all* IPs for name
+ # XXX fixme, check that name in response corresponds to query
+ # (beware of CNAMEs!)
push @resp,map {
[ -1, $_ , $rr->address,$default_port ]
} @$protos;
More information about the Pkg-perl-cvs-commits
mailing list