view mod_auth_external_insecure/examples/go/prosody-auth-example/main.go @ 5381:32a9817c7516

mod_firewall: Initialize compiled chunk just once for all handlers This should fix a case where some stateful dependencies (such as throttles) produce separate instances for every call to new_handler(), leading to surprising behaviour (e.g. rules executed via JUMP CHAIN vs ::deliver would have separate rate limits). This also adds better error handling in case the compiled code fails to run for some reason.
author Matthew Wild <mwild1@gmail.com>
date Fri, 28 Apr 2023 13:27:06 +0100
parents f84ede3e9e3b
children
line wrap: on
line source

package main

import "fmt"
import "bufio"
import "os"
import "strings"

const (
	ACTION = iota
	USER
	HOST
	PASSWORD
)

func main() {
	stdin := bufio.NewScanner(os.Stdin)
	for stdin.Scan() {
		parts := strings.SplitN(stdin.Text(), ":", 4)
		switch parts[ACTION] {
			case "auth":
				if parts[USER] == "someone" {
					fmt.Printf("1\n")
					continue
				}
				
			default: fmt.Printf("0\n")
		}
	}
}