Uploaded image for project: 'radsecproxy'
  1. radsecproxy
  2. RADSECPROXY-26

Segfault when playing with DynamicLookupCommand

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • radsecproyx-1.6
    • None
    • None
    • None

    Description

      $ cat ../radsecproxy.conf
      rewrite in_rewrite {
              removeAttribute 5
              addAttribute 4:11
              removeVendorAttribute 98
              removeVendorAttribute 99:100
              addVendorAttribute 99:101:47
      }


      LoopPrevention on
      client 127.0.0.1 {
              type udp
              secret secret
              rewriteIn in_rewrite
              rewriteAttribute User-Name:/^(.*)@local$/\1@example.com/
      }
      server 127.0.0.2 {
              type UDP
              secret secret
              LoopPrevention off
      }
      server 127.0.0.3 {
              type UDP
              secret secret
      }
      server 127.0.0.10 {
              type udp
              port 4711
              secret secret2
              dynamicLookupCommand /bin/false
      }

      realm * {
              server 127.0.0.10
      }
      $ gdb --args ./radsecproxy -fc ../radsecproxy.conf -d 4
      [...]
      $ echo "User-Name=bob@foo.com,User-Password=hemligt" | radclient 127.0.0.1 auth secret
      [...]
      Program received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7fffeffff700 (LWP 10489)]
      0x000000000040f6fd in addserverextraudp (conf=0x641840) at udp.c:320
      320 switch (((struct hostportres *)list_first(conf->hostports)->data)->addrinfo->ai_family) {
      (gdb) p conf
       = (struct clsrvconf *) 0x641840
      (gdb) p conf->hostports
       = (struct list *) 0x0
      (gdb) p *conf
       = {name = 0x634d10 "127.0.0.10", type = 0 '\000', pdef = 0x419260, hostsrc = 0x635e00,
        portsrc = 0x634d50 "4711", hostports = 0x0, secret = 0x634d70 "secret2", tls = 0x0,
        matchcertattr = 0x0, certcnregex = 0x0, certuriregex = 0x0, confrewritein = 0x0,
        confrewriteout = 0x0, confrewriteusername = 0x0, rewriteusername = 0x0,
        dynamiclookupcommand = 0x634d90 "/bin/false", statusserver = 0 '\000',
        retryinterval = 255 '\377', retrycount = 255 '\377', dupinterval = 0 '\000',
        certnamecheck = 1 '\001', addttl = 0 '\000', loopprevention = 255 '\377', rewritein = 0x0,
        rewriteout = 0x0, lock = 0x0, tlsconf = 0x0, clients = 0x0, servers = 0x641910,
        fticks_viscountry = 0x0}

      Attachments

        Activity

          People

            linus Linus Nordberg
            linus Linus Nordberg
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: