hunk.code_window: 	}
   	return false
   }
   func (a *App) SessionHasPermissionToPost(session model.Session, postId string, permission *model.Permission) bool {
   	post, err := a.GetSinglePost(postId)
   	if err != nil {
   		return false
   	}
   	if post.UserId == session.UserId {
   		return true
   	}
   	return a.SessionHasPermissionToChannel(session, post.ChannelId, permission)
   }
   func (a *App) HasPermissionTo(askingUserId string, permission *model.Permission) bool {
   	user, err := a.GetUser(askingUserId)
   	if err != nil {
   		return false
   	}
  
hunk.labels: keep keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
hunk.file_path: app/authorization.go
hunk.type: replace
file: // Created by cgo -godefs - DO NOT EDIT
  // cgo -godefs defs_netbsd.go
  
  package ipv6
  
  const (
  	sysIPV6_UNICAST_HOPS   = 0x4
  	sysIPV6_MULTICAST_IF   = 0x9
  	sysIPV6_MULTICAST_HOPS = 0xa
  	sysIPV6_MULTICAST_LOOP = 0xb
  	sysIPV6_JOIN_GROUP     = 0xc
  	sysIPV6_LEAVE_GROUP    = 0xd
  	sysIPV6_PORTRANGE      = 0xe
  	sysICMP6_FILTER        = 0x12
  
  	sysIPV6_CHECKSUM = 0x1a
  	sysIPV6_V6ONLY   = 0x1b
  
  	sysIPV6_IPSEC_POLICY = 0x1c
  
  	sysIPV6_RTHDRDSTOPTS = 0x23
  
  	sysIPV6_RECVPKTINFO  = 0x24
  	sysIPV6_RECVHOPLIMIT = 0x25
  	sysIPV6_RECVRTHDR    = 0x26
  	sysIPV6_RECVHOPOPTS  = 0x27
  	sysIPV6_RECVDSTOPTS  = 0x28
  
  	sysIPV6_USE_MIN_MTU = 0x2a
  	sysIPV6_RECVPATHMTU = 0x2b
  	sysIPV6_PATHMTU     = 0x2c
  
  	sysIPV6_PKTINFO  = 0x2e
  	sysIPV6_HOPLIMIT = 0x2f
  	sysIPV6_NEXTHOP  = 0x30
  	sysIPV6_HOPOPTS  = 0x31
  	sysIPV6_DSTOPTS  = 0x32
  	sysIPV6_RTHDR    = 0x33
  
  	sysIPV6_RECVTCLASS = 0x39
  
  	sysIPV6_TCLASS   = 0x3d
  	sysIPV6_DONTFRAG = 0x3e
  
  	sysIPV6_PORTRANGE_DEFAULT = 0x0
  	sysIPV6_PORTRANGE_HIGH    = 0x1
  	sysIPV6_PORTRANGE_LOW     = 0x2
  
  	sizeofSockaddrInet6 = 0x1c
  	sizeofInet6Pktinfo  = 0x14
  	sizeofIPv6Mtuinfo   = 0x20
  
  	sizeofIPv6Mreq = 0x14
  
  	sizeofICMPv6Filter = 0x20
  )
  
  type sockaddrInet6 struct {
  	Len      uint8
  	Family   uint8
  	Port     uint16
  	Flowinfo uint32
  	Addr     [16]byte /* in6_addr */
  	Scope_id uint32
  }
  
  type inet6Pktinfo struct {
  	Addr    [16]byte /* in6_addr */
  	Ifindex uint32
  }
  
  type ipv6Mtuinfo struct {
  	Addr sockaddrInet6
  	Mtu  uint32
  }
  
  type ipv6Mreq struct {
  	Multiaddr [16]byte /* in6_addr */
  	Interface uint32
  }
  
  type icmpv6Filter struct {
  	Filt [8]uint32
  }
  