Skip to content

Commit 0431f93

Browse files
committed
refractored comment API
1 parent c5dc10d commit 0431f93

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

axfr.go

+8-5
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func axfrToFile(zone string, ip net.IP, nameserver string) (int64, error) {
152152
v("saving zone %q to file %s", zone, filename)
153153
zonefile := save.New(zone, filename)
154154
defer func() {
155-
err = zonefile.WriteComment("envelopes", fmt.Sprintf("%d", envelope))
155+
err = zonefile.WriteCommentKey("envelopes", fmt.Sprintf("%d", envelope))
156156
if err != nil {
157157
panic(err)
158158
}
@@ -161,20 +161,23 @@ func axfrToFile(zone string, ip net.IP, nameserver string) (int64, error) {
161161
panic(err)
162162
}
163163
}()
164-
165-
err = zonefile.WriteComment("nameserver", nameserver)
164+
err = zonefile.WriteComment("Generated by ALLXFR (https://github.com/lanrat/allxfr)\n")
165+
if err != nil {
166+
return zonefile.Records(), err
167+
}
168+
err = zonefile.WriteCommentKey("nameserver", nameserver)
166169
if err != nil {
167170
return zonefile.Records(), err
168171
}
169-
err = zonefile.WriteComment("nameserverIP", ip.String())
172+
err = zonefile.WriteCommentKey("nameserverIP", ip.String())
170173
if err != nil {
171174
return zonefile.Records(), err
172175
}
173176
axfrType := "AXFR"
174177
if *ixfr {
175178
axfrType = "IXFR"
176179
}
177-
err = zonefile.WriteComment("xfr", axfrType)
180+
err = zonefile.WriteCommentKey("xfr", axfrType)
178181
if err != nil {
179182
return zonefile.Records(), err
180183
}

save/savezone.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,20 @@ func (f *File) Records() int64 {
3838
}
3939

4040
// WriteComment adds a comment to the zone file
41-
func (f *File) WriteComment(key, value string) error {
41+
func (f *File) WriteComment(comment string) error {
4242
err := f.fileReady()
4343
if err != nil {
4444
return err
4545
}
46-
_, err = f.bufWriter.WriteString(fmt.Sprintf("; %s: %s\n", key, value))
46+
_, err = f.bufWriter.WriteString(fmt.Sprintf("; %s", comment))
4747
return err
4848
}
4949

50+
// WriteCommentKey adds a comment to the zone file
51+
func (f *File) WriteCommentKey(key, value string) error {
52+
return f.WriteComment(fmt.Sprintf("%s: %s\n", key, value))
53+
}
54+
5055
// ErrFileClosed returned when attempting to write to a closed file
5156
var ErrFileClosed = errors.New("file is already closed")
5257

@@ -65,18 +70,13 @@ func (f *File) fileReady() error {
6570
f.gzWriter = gzip.NewWriter(f.fileWriter)
6671
f.gzWriter.ModTime = time.Now()
6772
f.gzWriter.Name = fmt.Sprintf("%s.zone", f.zone[:len(f.zone)-1])
68-
f.gzWriter.Comment = "generated by allxfr"
6973
f.bufWriter = bufio.NewWriter(f.gzWriter)
7074
// Save metadata to zone file as comment
71-
_, err = f.bufWriter.WriteString("; Generated by ALLXFR (https://github.com/lanrat/allxfr)\n")
72-
if err != nil {
73-
return err
74-
}
75-
err = f.WriteComment("timestamp", time.Now().Format(time.RFC3339))
75+
err = f.WriteCommentKey("timestamp", time.Now().Format(time.RFC3339))
7676
if err != nil {
7777
return err
7878
}
79-
err = f.WriteComment("zone", f.zone)
79+
err = f.WriteCommentKey("zone", f.zone)
8080
if err != nil {
8181
return err
8282
}
@@ -105,7 +105,7 @@ func (f *File) Finish() error {
105105
// function to finish/close/safe the files when done
106106
if f.records > 1 {
107107
// save record count comment at end of zone file
108-
err := f.WriteComment("records", fmt.Sprintf("%d", f.records))
108+
err := f.WriteCommentKey("records", fmt.Sprintf("%d", f.records))
109109
if err != nil {
110110
return err
111111
}

0 commit comments

Comments
 (0)