Home | History | Annotate | Line # | Download | only in udev
      1 #!/usr/bin/awk -f
      2 
      3 # Copyright (c) 2020 Yubico AB. All rights reserved.
      4 # Use of this source code is governed by a BSD-style
      5 # license that can be found in the LICENSE file.
      6 # SPDX-License-Identifier: BSD-2-Clause
      7 
      8 NR == 1 {
      9 	print "# Copyright (c) 2020 Yubico AB. All rights reserved."
     10 	print "#"
     11 	print "# Redistribution and use in source and binary forms, with or without"
     12 	print "# modification, are permitted provided that the following conditions are"
     13 	print "# met:"
     14 	print "# "
     15 	print "#    1. Redistributions of source code must retain the above copyright"
     16 	print "#       notice, this list of conditions and the following disclaimer."
     17 	print "#    2. Redistributions in binary form must reproduce the above copyright"
     18 	print "#       notice, this list of conditions and the following disclaimer in"
     19 	print "#       the documentation and/or other materials provided with the"
     20 	print "#       distribution."
     21 	print "# "
     22 	print "# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"
     23 	print "# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT"
     24 	print "# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR"
     25 	print "# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT"
     26 	print "# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,"
     27 	print "# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT"
     28 	print "# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,"
     29 	print "# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY"
     30 	print "# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT"
     31 	print "# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE"
     32 	print "# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
     33 	print "#"
     34 	print "# SPDX-License-Identifier: BSD-2-Clause"
     35 	print ""
     36 	print "# This file is automatically generated, and should be used with udev 188"
     37 	print "# or newer."
     38 	print ""
     39 	print "ACTION!=\"add|change\", GOTO=\"fido_end\""
     40 
     41 	next
     42 }
     43 
     44 $1 == "vendor" {
     45 	sub("0x", "", $3)
     46 	vendors[$2, "id"] = $3
     47 
     48 	f = 4
     49 	while (f <= NF) {
     50 		vendors[$2, "name"] = vendors[$2, "name"] " " $f
     51 		f++
     52 	}
     53 }
     54 
     55 $1 == "product" {
     56 	sub("0x", "", $3)
     57 	name = ""
     58 
     59 	f = 4
     60 	while (f <= NF) {
     61 		name = name " " $f
     62 		f++
     63 	}
     64 
     65 	line = "\n#" name " by" vendors[$2, "name"]"\n"
     66 	line = line"KERNEL==\"hidraw*\""
     67 	line = line", SUBSYSTEM==\"hidraw\""
     68 	line = line", ATTRS{idVendor}==\""vendors[$2, "id"]"\""
     69 	line = line", ATTRS{idProduct}==\""$3"\""
     70 	line = line", TAG+=\"uaccess\""
     71 	line = line", GROUP=\"plugdev\""
     72 	line = line", MODE=\"0660\""
     73 
     74 	print line
     75 }
     76 
     77 END {
     78 	print "\nLABEL=\"fido_end\""
     79 }
     80