RE: [Openh323gk-users] Strange problem with RadAuth and RadAliasAuth modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	Hi,

  Radius authentication produces segmentation faults on some systems. Michal is aware of that. So far I had segmentation faults on RedHat 9.0, 7.3 & 7.2(up2dated). It seems that out of the box 7.2 (not updated libs&gcc) can compile stable gnugk.

	Julius

-----Original Message-----
From: Rafael J. Risco G.V. [mailto:rrisco@millicom.net.pe]
Sent: Wednesday, July 02, 2003 1:36 AM
To: openh323gk-users@lists.sourceforge.net
Cc: openh323gk-developer@lists.sourceforge.net
Subject: [Openh323gk-users] Strange problem with RadAuth and
RadAliasAuth modules



Hello

I want to make autheticacion through freeradius in this very simple scenario:

2AddPacEndpoints------>GNUGK205------->Freeradius0.8.1

I don't have too much experience in this topic but I believe I have been able 
to configure the radius correctly to use the authenticacion modules"RadAuth" 
or "RadAliasAuth" but I can`t found answers for an strange registration 
problem...

In this scenario the first terminal it register correctly but the problem is 
that the GK falls in the precise instant in that the second terminal try to 
register (I can see the first RCF in the status port  
RCF|10.0.0.240:1720|ap200:h323_ID=6603000:dialedDigits=6603001:dialedDigits|term
inal|1248_endp;), this happens in both windows and Linux versions and also 
with2.0.4 and 2.0.5.

below I send you details of the configuration of the following devices:

1. Radius (clients.conf, users and brief debug log)
2. my GNUGK .ini file
3. some details from AP200 (AddPac terminal support CAT authentication scheme)
4. gnugk debug ttttt

please, someone send me some suggestion to detect and solve this problem, 

thanks 

Rafael R.
Millicom Peru SA


PD: 

----------------------------------------------------------
1. RADIUS
---------------------------------------------------------

/usr/local/etc/raddb/clients.conf   :

client 10.0.0.11 {
       secret      = hola123
       shortname   = MICPEGK02
}


/usr/local/etc/raddb/users  :

ap200           User-Password == "ap200x"

ap200test1      User-Password == "ap200test1x"



Radiusd -X :

rad_recv: Access-Request packet from host 10.0.0.11:10550, id=158, length=87
        User-Name = "ap200"
        CHAP-Password = 0xaedc7457bd266e7da654e5b1edb59bcdab
        NAS-IP-Address = 10.0.0.11
        NAS-Identifier = "MICPEGK02"
        NAS-Port-Type = Virtual
        Service-Type = Login-User
        CHAP-Challenge = "?\001F\\"
        Framed-IP-Address = 10.0.0.240
modcall: entering group authorize
  modcall[authorize]: module "preprocess" returns ok
rlm_chap: Adding Auth-Type = CHAP
  modcall[authorize]: module "chap" returns ok
  modcall[authorize]: module "mschap" returns notfound
    rlm_realm: No '@' in User-Name = "ap200", looking up realm NULL
    rlm_realm: No such realm NULL
  modcall[authorize]: module "suffix" returns noop
    users: Matched ap200 at 218
  modcall[authorize]: module "files" returns ok
modcall: group authorize returns ok
  rad_check_password:  Found Auth-Type CHAP
  rad_check_password:  Found Auth-Type Local
Warning:  Found 2 auth-types on request for user 'ap200'
auth: type Local
auth: user supplied CHAP-Password matches local User-Password
Sending Access-Accept of id 158 to 10.0.0.11:10550
Finished request 4
Going to the next request
--- Walking the entire request list ---
Waking up in 6 seconds...


rad_recv: Access-Request packet from host 10.0.0.11:10550, id=159, length=92
        User-Name = "ap200test1"
        CHAP-Password = 0xfab7317c163b475ee1f49f74a577b12043
        NAS-IP-Address = 10.0.0.11
        NAS-Identifier = "MICPEGK02"
        NAS-Port-Type = Virtual
        Service-Type = Login-User
        CHAP-Challenge = ">\324\037\336"
        Framed-IP-Address = 161.132.195.162
modcall: entering group authorize
  modcall[authorize]: module "preprocess" returns ok
rlm_chap: Adding Auth-Type = CHAP
  modcall[authorize]: module "chap" returns ok
  modcall[authorize]: module "mschap" returns notfound
    rlm_realm: No '@' in User-Name = "ap200test1", looking up realm NULL
    rlm_realm: No such realm NULL
  modcall[authorize]: module "suffix" returns noop
    users: Matched ap200test1 at 220
  modcall[authorize]: module "files" returns ok
modcall: group authorize returns ok
  rad_check_password:  Found Auth-Type CHAP
  rad_check_password:  Found Auth-Type Local
Warning:  Found 2 auth-types on request for user 'ap200test1'
auth: type Local
auth: user supplied CHAP-Password matches local User-Password
Sending Access-Accept of id 159 to 10.0.0.11:10550
Finished request 5


----------------------------------------------------------
2. GNUGK .ini file
---------------------------------------------------------


[Gatekeeper::Main]
Fourtytwo=42
Home=10.0.0.11
TimeToLive=600
TotalBandwidth=100000
Name=MICPEGK02

[RoutedMode]
GKRouted=1
H245Routed=0

[GkStatus::Auth]
rule=allow

[Gatekeeper::Auth]
RadAuth=required;RRQ,ARQ
#RadAuth=required;RRQ,ARQ
#RadAuth=sufficient;RRQ
#RadAuth=optional;ARQ
default=allow

# Configuration section for RadAuth authenticator module
[RadAuth]
Servers=161.132.224.67
LocalInterface=10.0.0.11
RadiusPortRange=10000-11000
DefaultAuthPort=1812
SharedSecret=hola123
RequestTimeout=2000
IdCacheTimeout=9000
SocketDeleteTimeout=60000
RequestRetransmissions=2
RoundRobinServers=0
AppendCiscoAttributes=0
IncludeEndpointIP=1



---------------------------------------------------------
3. some details from AP200 (AddPac terminal supports CAT authentication scheme)
---------------------------------------------------------
...
dial-peer voice 1000 voip 
 destination-pattern T 
 session target ras 
 codec g7231r63 
 dtmf-relay h245-alphanumeric 
! 
! 
! Gateway configuration. 
!             
gateway 
 h323-id ap200 
 security password ap200x 
 security clear-token-option cisco-per-call-style 
 endpoint-type terminal 
 gkip 10.0.0.11 1719 128 
 register 
!...
----------------------------


--------------------------------------------------------
4. gnugk debug ttttt
--------------------------------------------------------

gnugk.exe -c ../etc/AAAGKWinAuth.ini -tttttt -o ../debug5.log

22003/07/01 15:25:17.412	1	          gk.cxx(119)	GK	Trace 
logging restarted.
2003/07/01 15:25:17.412	5	   singleton.cxx(25)	Create 
instance: 1
2003/07/01 15:25:17.412	5	     Toolkit.cxx(380)	Try name 
C:\openh323gk\etc\AAAGKWinAuth.ini-4331
2003/07/01 15:25:17.713	4	     Toolkit.cxx(120)	InterfaceTable:
10.0.0.11 <00-01-03-E3-50-B8> (3Com EtherLink PCI)
127.0.0.1 (MS TCP Loopback interface)

2003/07/01 15:25:17.723	2	     Toolkit.cxx(90)
	Network=10.0.0.0/255.255.255.0, IP=10.0.0.11
2003/07/01 15:25:17.723	2	     Toolkit.cxx(90)
	Network=10.0.0.11/255.255.255.255, IP=10.0.0.11
2003/07/01 15:25:17.723	2	     Toolkit.cxx(90)
	Network=10.255.255.255/255.255.255.255, IP=10.0.0.11
2003/07/01 15:25:17.723	2	     Toolkit.cxx(90)
	Network=127.0.0.0/255.0.0.0, IP=127.0.0.1
2003/07/01 15:25:17.723	2	     Toolkit.cxx(90)
	Network=224.0.0.0/224.0.0.0, IP=10.0.0.11
2003/07/01 15:25:17.723	2	     Toolkit.cxx(90)
	Network=255.255.255.255/255.255.255.255, IP=10.0.0.11
2003/07/01 15:25:17.723	2	     Toolkit.cxx(91)	Default 
IP=10.0.0.11
2003/07/01 15:25:17.733	2	     Toolkit.cxx(153)	GK	H.323 
Proxy disabled
2003/07/01 15:25:17.803	1	          gk.cxx(422)	OpenH323 
Gatekeeper - The GNU Gatekeeper with ID 'MICPEGK02' started on 10.0.0.11
Gatekeeper(GNU) Version(2.0.5) Ext(pthreads=0) Build(Jun 29 2003, 22:55:31) Sys
(2000 i586 v5.0.2195) 
2003/07/01 15:25:17.813	5	   singleton.cxx(25)	Create 
instance: 2
2003/07/01 15:25:17.853	2	          gk.cxx(454)	GK
	TimeToLive for Registrations: 600
2003/07/01 15:25:17.903	5	   singleton.cxx(25)	Create 
instance: 3
2003/07/01 15:25:17.923	5	   singleton.cxx(25)	Create 
instance: 4
2003/07/01 15:25:18.043	1	      gkauth.cxx(266)	GkAuth	Add 
default rule with flag ff
2003/07/01 15:25:18.043	1	      gkauth.cxx(1393)	GkAuth
	Unknown auth #RadAuth, ignore!
2003/07/01 15:25:18.043	1	      gkauth.cxx(1393)	GkAuth
	Unknown auth #RadAuth, ignore!
2003/07/01 15:25:18.043	1	      gkauth.cxx(1393)	GkAuth
	Unknown auth #RadAuth, ignore!
2003/07/01 15:25:18.053	1	      gkauth.cxx(266)	GkAuth	Add 
RadAuth rule with flag a
2003/07/01 15:25:18.183	4	    radproto.cxx(1684)	RADIUS
	Created instance of RADIUS client (local if: 10.0.0.11, default 
ports:  1812,1813) for RADIUS servers group:
        161.132.224.67
2003/07/01 15:25:18.304	2	ProxyChannel.cxx(72)	RTPPortRange: 
10000-59999
2003/07/01 15:25:18.324	2	 ProxyThread.cxx(477)	ProxyL
	Listen to 10.0.0.11:1721
2003/07/01 15:25:18.324	2	      thread.cxx(28)	ProxyListener 
1344 started
2003/07/01 15:25:18.334	2	      thread.cxx(28)
	ProxyHandleThread 1804 started
2003/07/01 15:25:18.334	2	      thread.cxx(28)
	ProxyHandleThread 1432 started
2003/07/01 15:25:18.334	2	      RasSrv.cxx(551)	GK	Using 
Routed Signalling
2003/07/01 15:25:18.334	2	      RasSrv.cxx(552)	GK	H.245 
Routed Disabled
2003/07/01 15:25:18.334	3	 ProxyThread.cxx(647)	ProxyLC(0) 
waiting...
2003/07/01 15:25:18.334	1	MulticastGRQ.cxx(52)	GK
	Multicast listener started
2003/07/01 15:25:18.334	3	 ProxyThread.cxx(647)	ProxyH(0) 
waiting...
2003/07/01 15:25:18.334	1	      RasSrv.cxx(2099)	GK
	RasThread 1648 started
2003/07/01 15:25:18.334	2	      RasSrv.cxx(2102)	GK
	Entering connection handling loop
2003/07/01 15:25:18.924	2	    GkStatus.cxx(315)	GK
	GkStatus new status client: addr 10.0.0.11
2003/07/01 15:25:18.924	4	    GkStatus.cxx(636)	Auth client 
from 10.0.0.11
2003/07/01 15:25:18.934	5	    GkStatus.cxx(660)	Auth client 
rule=allow
2003/07/01 15:25:23.631	2	      RasSrv.cxx(2132)	GK	Read 
from 10.0.0.240:22000
2003/07/01 15:25:23.641	3	      RasSrv.cxx(2145)	GK
registrationRequest {
    requestSeqNum = 1
    protocolIdentifier = 0.0.8.2250.0.2
    discoveryComplete = FALSE
    callSignalAddress = 1 entries {
      [0]=ipAddress {
        ip =  4 octets {
          0a 00 00 f0                                        ....
        }
        port = 1720
      }
    }
    rasAddress = 1 entries {
      [0]=ipAddress {
        ip =  4 octets {
          0a 00 00 f0                                        ....
        }
        port = 22000
      }
    }
    terminalType = {
      terminal = {
      }
      mc = FALSE
      undefinedNode = FALSE
    }
    terminalAlias = 3 entries {
      [0]=h323_ID  5 characters {
        0061 0070 0032 0030 0030                  ap200
      }
      [1]=dialedDigits "6603000"
      [2]=dialedDigits "6603001"
    }
    endpointVendor = {
      vendor = {
        t35CountryCode = 97
        t35Extension = 0
        manufacturerCode = 22
      }
      productId =  11 octets {
        41 64 64 50 61 63 20 56  6f 49 50                  AddPac VoIP
      }
      versionId =  4 octets {
        36 2e 30 36                                        6.06
      }
    }
    timeToLive = 60
    tokens = 1 entries {
      [0]={
        tokenOID = 1.2.840.113548.10.1.2.1
        timeStamp = 1057048156
        challenge =  16 octets {
          dc 74 57 bd 26 6e 7d a6  54 e5 b1 ed b5 9b cd ab   .tW.&n}.T.......
        }
        random = 174
        generalID =  5 characters {
          0061 0070 0032 0030 0030                  ap200
        }
      }
    }
    cryptoTokens = 1 entries {
      [0]=cryptoEPPwdHash {
        alias = h323_ID  5 characters {
          0061 0070 0032 0030 0030                  ap200
        }
        timeStamp = 1057048156
        token = {
          algorithmOID = 1.2.840.113549.2.5
          paramS = {
          }
          hash = Hex:  55 5e 5e 6c 27 0f ed 2d  4e 15 fa 12 ec 24 60 c5 
        }
      }
    }
    keepAlive = FALSE
    willSupplyUUIEs = FALSE
  }
2003/07/01 15:25:23.641	1	      RasSrv.cxx(927)	GK	RRQ 
Received
2003/07/01 15:25:23.651	5	    radproto.cxx(2261)	RADIUS
	Created new socket for RADIUS client: port:10550:[0,157-157]
2003/07/01 15:25:23.651	5	    radproto.cxx(1900)	RADIUS
	Sending PDU to RADIUS server 161.132.224.67 (161.132.224.67:1812) 
from  port:10550:[0,157-158], PDU: {
      code = 1 (Access-Request)
      id = 158
      length = 87 octets
      authenticator = 16 octets {
        d1 b4 22 da f4 b3 94 9d  31 29 6b ec 4e ef 7d 39   ..".....1)k.N.}9
      }
      attributes = 8 elements {
        [0]= {
          type = 1 (User-Name)
          length = 7 octets
          value = 5 octets {
            61 70 32 30 30                                     ap200
          }
        }
        [1]= {
          type = 3 (CHAP-Password)
          length = 19 octets
          value = 17 octets {
            ae dc 74 57 bd 26 6e 7d  a6 54 e5 b1 ed b5 9b cd   ..tW.&n}.T......
            ab                                                 .
          }
        }
        [2]= {
          type = 4 (NAS-IP-Address)
          length = 6 octets
          value = 4 octets {
            0a 00 00 0b                                        ....
          }
        }
        [3]= {
          type = 32 (NAS-Identifier)
          length = 11 octets
          value = 9 octets {
            4d 49 43 50 45 47 4b 30  32                        MICPEGK02
          }
        }
        [4]= {
          type = 61 (NAS-Port-Type)
          length = 6 octets
          value = 4 octets {
            00 00 00 05                                        ....
          }
        }
        [5]= {
          type = 6 (Service-Type)
          length = 6 octets
          value = 4 octets {
            00 00 00 01                                        ....
          }
        }
        [6]= {
          type = 60 (CHAP-Challenge)
          length = 6 octets
          value = 4 octets {
            3f 01 46 5c                                        ?.F\
          }
        }
        [7]= {
          type = 8 (Framed-IP-Address)
          length = 6 octets
          value = 4 octets {
            0a 00 00 f0                                        ....
          }
        }
      }
   }

2003/07/01 15:25:23.651	5	    radproto.cxx(1919)	RADIUS
	Received PDU from RADIUS server 161.132.224.67 (161.132.224.67:1812) 
by  socket port:10550:[0,157-158], PDU: {
      code = 2 (Access-Accept)
      id = 158
      length = 20 octets
      authenticator = 16 octets {
        b9 53 39 22 85 27 1c 31  b4 da 00 c3 b1 09 a7 69   .S9".'.1.......i
      }
      attributes = <<null>>
   }

2003/07/01 15:25:23.651	4	        gkauth.h(80)	GkAuth
	RadAuth check ok
2003/07/01 15:25:23.651	4	        gkauth.h(80)	GkAuth
	default check ok
2003/07/01 15:25:23.681	1	      RasTbl.cxx(51)	New  
EP|10.0.0.240:1720|ap200:h323_ID=6603000:dialedDigits=6603001:dialedDigits|termi
nal|1248_endp 
2003/07/01 15:25:23.691	2	      RasSrv.cxx(1144)	 
RCF|10.0.0.240:1720|ap200:h323_ID=6603000:dialedDigits=6603001:dialedDigits|term
inal|1248_endp; 
2003/07/01 15:25:23.691	3	      RasSrv.cxx(2072)	GK	Send 
to 10.0.0.240:22000
registrationConfirm {
    requestSeqNum = 1
    protocolIdentifier = 0.0.8.2250.0.2
    callSignalAddress = 1 entries {
      [0]=ipAddress {
        ip =  4 octets {
          0a 00 00 0b                                        ....
        }
        port = 1721
      }
    }
    terminalAlias = 3 entries {
      [0]=h323_ID  5 characters {
        0061 0070 0032 0030 0030                  ap200
      }
      [1]=dialedDigits "6603000"
      [2]=dialedDigits "6603001"
    }
    gatekeeperIdentifier =  9 characters {
      004d 0049 0043 0050 0045 0047 004b 0030   MICPEGK0
      0032                                      2
    }
    endpointIdentifier =  9 characters {
      0031 0032 0034 0038 005f 0065 006e 0064   1248_end
      0070                                      p
    }
    timeToLive = 60
    cryptoTokens = 1 entries {
      [0]=cryptoEPPwdHash {
        alias = h323_ID  5 characters {
          0061 0070 0032 0030 0030                  ap200
        }
        timeStamp = 1057048156
        token = {
          algorithmOID = 1.2.840.113549.2.5
          paramS = {
          }
          hash = Hex:  55 5e 5e 6c 27 0f ed 2d  4e 15 fa 12 ec 24 60 c5 
        }
      }
    }
    willRespondToIRR = FALSE
    maintainConnection = FALSE
  }
2003/07/01 15:25:23.691	5	      RasSrv.cxx(2086)	GK	Sent 
Successful
2003/07/01 15:25:28.488	2	      RasSrv.cxx(2132)	GK	Read 
from 161.132.195.162:22000
2003/07/01 15:25:28.498	3	      RasSrv.cxx(2145)	GK
registrationRequest {
    requestSeqNum = 1
    protocolIdentifier = 0.0.8.2250.0.2
    discoveryComplete = FALSE
    callSignalAddress = 1 entries {
      [0]=ipAddress {
        ip =  4 octets {
          a1 84 c3 a2                                        ....
        }
        port = 1720
      }
    }
    rasAddress = 1 entries {
      [0]=ipAddress {
        ip =  4 octets {
          a1 84 c3 a2                                        ....
        }
        port = 22000
      }
    }
    terminalType = {
      terminal = {
      }
      mc = FALSE
      undefinedNode = FALSE
    }
    terminalAlias = 3 entries {
      [0]=h323_ID  10 characters {
        0061 0070 0032 0030 0030 0074 0065 0073   ap200tes
        0074 0031                                 t1
      }
      [1]=dialedDigits "6604000"
      [2]=dialedDigits "6604001"
    }
    endpointVendor = {
      vendor = {
        t35CountryCode = 97
        t35Extension = 0
        manufacturerCode = 22
      }
      productId =  11 octets {
        41 64 64 50 61 63 20 56  6f 49 50                  AddPac VoIP
      }
      versionId =  4 octets {
        36 2e 30 36                                        6.06
      }
    }
    timeToLive = 60
    tokens = 1 entries {
      [0]={
        tokenOID = 1.2.840.113548.10.1.2.1
        timeStamp = 1054089182
        challenge =  16 octets {
          b7 31 7c 16 3b 47 5e e1  f4 9f 74 a5 77 b1 20 43   .1|.;G^...t.w. C
        }
        random = 250
        generalID =  10 characters {
          0061 0070 0032 0030 0030 0074 0065 0073   ap200tes
          0074 0031                                 t1
        }
      }
    }
    cryptoTokens = 1 entries {
      [0]=cryptoEPPwdHash {
        alias = h323_ID  10 characters {
          0061 0070 0032 0030 0030 0074 0065 0073   ap200tes
          0074 0031                                 t1
        }
        timeStamp = 1054089182
        token = {
          algorithmOID = 1.2.840.113549.2.5
          paramS = {
          }
          hash = Hex:  3c df fe 7d c0 78 a9 42  ab 2b af 7d 50 a8 e5 d5 
        }
      }
    }
    keepAlive = FALSE
    willSupplyUUIEs = FALSE
  }
2003/07/01 15:25:28.498	1	      RasSrv.cxx(927)	GK	RRQ 
Received
2003/07/01 15:25:28.508	5	    radproto.cxx(1900)	RADIUS
	Sending PDU to RADIUS server 161.132.224.67 (161.132.224.67:1812) 
from  port:10550:[0,157-159], PDU: {
      code = 1 (Access-Request)
      id = 159
      length = 92 octets
      authenticator = 16 octets {
        e1 50 2a df b3 10 fd 91  49 e0 bf 70 cd 4a 91 55   .P*.....I..p.J.U
      }
      attributes = 8 elements {
        [0]= {
          type = 1 (User-Name)
          length = 12 octets
          value = 10 octets {
            61 70 32 30 30 74 65 73  74 31                     ap200test1
          }
        }
        [1]= {
          type = 3 (CHAP-Password)
          length = 19 octets
          value = 17 octets {
            fa b7 31 7c 16 3b 47 5e  e1 f4 9f 74 a5 77 b1 20   ..1|.;G^...t.w. 
            43                                                 C
          }
        }
        [2]= {
          type = 4 (NAS-IP-Address)
          length = 6 octets
          value = 4 octets {
            0a 00 00 0b                                        ....
          }
        }
        [3]= {
          type = 32 (NAS-Identifier)
          length = 11 octets
          value = 9 octets {
            4d 49 43 50 45 47 4b 30  32                        MICPEGK02
          }
        }
        [4]= {
          type = 61 (NAS-Port-Type)
          length = 6 octets
          value = 4 octets {
            00 00 00 05                                        ....
          }
        }
        [5]= {
          type = 6 (Service-Type)
          length = 6 octets
          value = 4 octets {
            00 00 00 01                                        ....
          }
        }
        [6]= {
          type = 60 (CHAP-Challenge)
          length = 6 octets
          value = 4 octets {
            3e d4 1f de                                        >...
          }
        }
        [7]= {
          type = 8 (Framed-IP-Address)
          length = 6 octets
          value = 4 octets {
            a1 84 c3 a2                                        ....
          }
        }
      }
   }




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
List: Openh323gk-users@lists.sourceforge.net
Archive: http://sourceforge.net/mailarchive/forum.php?forum_id=8549
Homepage: http://www.gnugk.org/


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
_______________________________________________
List: Openh323gk-users@lists.sourceforge.net
Archive: http://sourceforge.net/mailarchive/forum.php?forum_id…49
Homepage: http://www.gnugk.org/


[Index of Archives]     [SIP]     [Open H.323]     [Gnu Gatekeeper]     [Asterisk PBX]     [ISDN Cause Codes]     [Yosemite News]

  Powered by Linux