mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	* [Vendor] update go-ldap to v3.0.3 * update go-ldap to v3.2.4 Co-authored-by: techknowlogick <techknowlogick@gitea.io>
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
package ldap
 | 
						|
 | 
						|
import (
 | 
						|
	"log"
 | 
						|
 | 
						|
	ber "github.com/go-asn1-ber/asn1-ber"
 | 
						|
)
 | 
						|
 | 
						|
// DelRequest implements an LDAP deletion request
 | 
						|
type DelRequest struct {
 | 
						|
	// DN is the name of the directory entry to delete
 | 
						|
	DN string
 | 
						|
	// Controls hold optional controls to send with the request
 | 
						|
	Controls []Control
 | 
						|
}
 | 
						|
 | 
						|
func (req *DelRequest) appendTo(envelope *ber.Packet) error {
 | 
						|
	pkt := ber.Encode(ber.ClassApplication, ber.TypePrimitive, ApplicationDelRequest, req.DN, "Del Request")
 | 
						|
	pkt.Data.Write([]byte(req.DN))
 | 
						|
 | 
						|
	envelope.AppendChild(pkt)
 | 
						|
	if len(req.Controls) > 0 {
 | 
						|
		envelope.AppendChild(encodeControls(req.Controls))
 | 
						|
	}
 | 
						|
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
// NewDelRequest creates a delete request for the given DN and controls
 | 
						|
func NewDelRequest(DN string, Controls []Control) *DelRequest {
 | 
						|
	return &DelRequest{
 | 
						|
		DN:       DN,
 | 
						|
		Controls: Controls,
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
// Del executes the given delete request
 | 
						|
func (l *Conn) Del(delRequest *DelRequest) error {
 | 
						|
	msgCtx, err := l.doRequest(delRequest)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
	defer l.finishMessage(msgCtx)
 | 
						|
 | 
						|
	packet, err := l.readPacket(msgCtx)
 | 
						|
	if err != nil {
 | 
						|
		return err
 | 
						|
	}
 | 
						|
 | 
						|
	if packet.Children[1].Tag == ApplicationDelResponse {
 | 
						|
		err := GetLDAPError(packet)
 | 
						|
		if err != nil {
 | 
						|
			return err
 | 
						|
		}
 | 
						|
	} else {
 | 
						|
		log.Printf("Unexpected Response: %d", packet.Children[1].Tag)
 | 
						|
	}
 | 
						|
	return nil
 | 
						|
}
 |