diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/include/radsec/radsec.h | 4 | ||||
| -rw-r--r-- | lib/packet.c | 21 | 
2 files changed, 16 insertions, 9 deletions
| diff --git a/lib/include/radsec/radsec.h b/lib/include/radsec/radsec.h index c8b43bf..1d12787 100644 --- a/lib/include/radsec/radsec.h +++ b/lib/include/radsec/radsec.h @@ -110,8 +110,8 @@ void rs_server_set_tries(struct rs_peer *server, int tries);  /* Packet.  */  int rs_packet_create_acc_request(struct rs_connection *conn,  				 struct rs_packet **pkt, -				 const char *user_name, -				 const char *user_pw); +				 const char *user_name, /* FIXME: remove? */ +				 const char *user_pw);	/* FIXME: remove? */  void rs_packet_destroy(struct rs_packet *pkt);  void rs_packet_add_attr(struct rs_packet *pkt, struct rs_attr *attr);  int rs_packet_send(struct rs_packet *pkt, void *data); diff --git a/lib/packet.c b/lib/packet.c index 54bfc01..9ac392d 100644 --- a/lib/packet.c +++ b/lib/packet.c @@ -319,14 +319,20 @@ rs_packet_create_acc_request (struct rs_connection *conn,    pkt = *pkt_out;    pkt->rpkt->code = PW_AUTHENTICATION_REQUEST; -  if (rs_attr_create (conn, &attr, "User-Name", user_name)) -    return -1; -  rs_packet_add_attr (pkt, attr); +  if (user_name) +    { +      if (rs_attr_create (conn, &attr, "User-Name", user_name)) +	return -1; +      rs_packet_add_attr (pkt, attr); +    } -  if (rs_attr_create (conn, &attr, "User-Password", user_pw)) -    return -1; -  /* FIXME: need this too? rad_pwencode(user_pw, &pwlen, SECRET, reqauth) */ -  rs_packet_add_attr (pkt, attr); +  if (user_pw) +    { +      if (rs_attr_create (conn, &attr, "User-Password", user_pw)) +	return -1; +      /* FIXME: need this too? rad_pwencode(user_pw, &pwlen, SECRET, reqauth) */ +      rs_packet_add_attr (pkt, attr); +    }    return RSE_OK;  } @@ -421,6 +427,7 @@ rs_packet_destroy(struct rs_packet *pkt)  {    if (pkt)      { +      // TODO: free all attributes        rad_free (&pkt->rpkt);        rs_free (pkt->conn->ctx, pkt);      } | 
