Hi,

Adam - has it been actually backported yet? It doesn't look like it has.


btw: as a workaround one might for example do:

<pre>
syscall::getpeername:entry
/ pid == $1 /
{
  self->in = 1;

  self->arg0 = arg0; /* int s */
  self->arg1 = arg1; /* struct sockaddr * */
  self->arg2 = arg2; /* size_t len */
}

<pre>
syscall::getpeername:return
/ self->in /
{
  this->len = *(socklen_t *) copyin((uintptr_t)self->arg2, sizeof(socklen_t));
  this->socks = (struct sockaddr *) copyin((uintptr_t)self->arg1, this->len);
  this->hport = (uint_t)(this->socks->sa_data[0]);
  this->lport = (uint_t)(this->socks->sa_data[1]);
  this->hport <<= 8;
  this->port = this->hport + this->lport;

  this->a1 = lltostr((uint_t)this->socks->sa_data[2]);
  this->a2 = lltostr((uint_t)this->socks->sa_data[3]);
  this->a3 = lltostr((uint_t)this->socks->sa_data[4]);
  this->a4 = lltostr((uint_t)this->socks->sa_data[5]);
  this->s1 = strjoin(this->a1, ".");
  this->s2 = strjoin(this->s1, this->a2);
  this->s1 = strjoin(this->s2, ".");
  this->s2 = strjoin(this->s1, this->a3);
  this->s1 = strjoin(this->s2, ".");

  this->client_ip = strjoin(this->s1, this->a4);
</pre>
-- 
Robert Milkowski
http://milek.blogspot.com
-- 
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org

Reply via email to