hunk.code_window:         post.filenames = [];
           posts[post.id] = post;
           this.postsInfo[post.channel_id].deletedPosts = posts;
       }
  
hunk.labels: keep keep add keep keep keep
hunk.after_edit:         this.makePostsInfo(post.channel_id);
  
hunk.file_path: web/react/stores/post_store.jsx
hunk.type: add
file: // Copyright 2011 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  package ldap
  
  import (
  	"errors"
  
  	"gopkg.in/asn1-ber.v1"
  )
  
  type SimpleBindRequest struct {
  	Username string
  	Password string
  	Controls []Control
  }
  
  type SimpleBindResult struct {
  	Controls []Control
  }
  
  func NewSimpleBindRequest(username string, password string, controls []Control) *SimpleBindRequest {
  	return &SimpleBindRequest{
  		Username: username,
  		Password: password,
  		Controls: controls,
  	}
  }
  
  func (bindRequest *SimpleBindRequest) encode() *ber.Packet {
  	request := ber.Encode(ber.ClassApplication, ber.TypeConstructed, ApplicationBindRequest, nil, "Bind Request")
  	request.AppendChild(ber.NewInteger(ber.ClassUniversal, ber.TypePrimitive, ber.TagInteger, 3, "Version"))
  	request.AppendChild(ber.NewString(ber.ClassUniversal, ber.TypePrimitive, ber.TagOctetString, bindRequest.Username, "User Name"))
  	request.AppendChild(ber.NewString(ber.ClassContext, ber.TypePrimitive, 0, bindRequest.Password, "Password"))
  
  	request.AppendChild(encodeControls(bindRequest.Controls))
  
  	return request
  }
  
  func (l *Conn) SimpleBind(simpleBindRequest *SimpleBindRequest) (*SimpleBindResult, error) {
  	messageID := l.nextMessageID()
  
  	packet := ber.Encode(ber.ClassUniversal, ber.TypeConstructed, ber.TagSequence, nil, "LDAP Request")
  	packet.AppendChild(ber.NewInteger(ber.ClassUniversal, ber.TypePrimitive, ber.TagInteger, messageID, "MessageID"))
  	encodedBindRequest := simpleBindRequest.encode()
  	packet.AppendChild(encodedBindRequest)
  
  	if l.Debug {
  		ber.PrintPacket(packet)
  	}
  
  	channel, err := l.sendMessage(packet)
  	if err != nil {
  		return nil, err
  	}
  	if channel == nil {
  		return nil, NewError(ErrorNetwork, errors.New("ldap: could not send message"))
  	}
  	defer l.finishMessage(messageID)
  
  	packet = <-channel
  	if packet == nil {
  		return nil, NewError(ErrorNetwork, errors.New("ldap: could not retrieve response"))
  	}
  
  	if l.Debug {
  		if err := addLDAPDescriptions(packet); err != nil {
  			return nil, err
  		}
  		ber.PrintPacket(packet)
  	}
  
  	result := &SimpleBindResult{
  		Controls: make([]Control, 0),
  	}
  
  	if len(packet.Children) == 3 {
  		for _, child := range packet.Children[2].Children {
  			result.Controls = append(result.Controls, DecodeControl(child))
  		}
  	}
  
  	resultCode, resultDescription := getLDAPResultCode(packet)
  	if resultCode != 0 {
  		return result, NewError(resultCode, errors.New(resultDescription))
  	}
  
  	return result, nil
  }
  
  func (l *Conn) Bind(username, password string) error {
  	messageID := l.nextMessageID()
  
  	packet := ber.Encode(ber.ClassUniversal, ber.TypeConstructed, ber.TagSequence, nil, "LDAP Request")
  	packet.AppendChild(ber.NewInteger(ber.ClassUniversal, ber.TypePrimitive, ber.TagInteger, messageID, "MessageID"))
  	bindRequest := ber.Encode(ber.ClassApplication, ber.TypeConstructed, ApplicationBindRequest, nil, "Bind Request")
  	bindRequest.AppendChild(ber.NewInteger(ber.ClassUniversal, ber.TypePrimitive, ber.TagInteger, 3, "Version"))
  	bindRequest.AppendChild(ber.NewString(ber.ClassUniversal, ber.TypePrimitive, ber.TagOctetString, username, "User Name"))
  	bindRequest.AppendChild(ber.NewString(ber.ClassContext, ber.TypePrimitive, 0, password, "Password"))
  	packet.AppendChild(bindRequest)
  
  	if l.Debug {
  		ber.PrintPacket(packet)
  	}
  
  	channel, err := l.sendMessage(packet)
  	if err != nil {
  		return err
  	}
  	if channel == nil {
  		return NewError(ErrorNetwork, errors.New("ldap: could not send message"))
  	}
  	defer l.finishMessage(messageID)
  
  	packet = <-channel
  	if packet == nil {
  		return NewError(ErrorNetwork, errors.New("ldap: could not retrieve response"))
  	}
  
  	if l.Debug {
  		if err := addLDAPDescriptions(packet); err != nil {
  			return err
  		}
  		ber.PrintPacket(packet)
  	}
  
  	resultCode, resultDescription := getLDAPResultCode(packet)
  	if resultCode != 0 {
  		return NewError(resultCode, errors.New(resultDescription))
  	}
  
  	return nil
  }
  